如何在单个目录中读取和写入多个文件?蟒蛇

用户名

我正在编写Python代码,希望对如何解决此问题有更多的了解。

我试图读取多个文件以.log结尾。这样,我希望将特定的值写入.csv文件。

在文本文件中,有以下提取的X / Y值:

Textfile.log:

    X/Y = 5
    X/Y = 6

Textfile.log.2:

    X/Y = 7
    X/Y = 8 

CSV文件中的DesiredOutput:

    5        
    6
    7
    8

这是到目前为止我提出的代码:

    def readfile():
    import os
    i = 0
    for file in os.listdir("\mydir"):   
        if file.endswith(".log"):
            return file

    def main ():
            import re
        list = []
        list = readfile()

        for line in readfile():
            x = re.search(r'(?<=X/Y = )\d+', line)
            if x:
                list.append(x.group())
            else:
                break 
        f = csv.write(open(output, "wb"))
        while 1:
            if (i>len(list-1)):
                break
            else:
                f.writerow(list(i))
                i += 1

    if __name__ == '__main__':
    main()

我对如何使其读取.log文件,然后读取.log.2文件感到困惑。是否可以让它自动读取1个目录中的所有文件,而无需分别键入它们?

更新:我正在使用Windows 7和Python V2.7

温诺

顺序读取文件的最简单方法是建立一个列表,然后在其上循环。就像是:

for fname in list_of_files:
    with open(fname, 'r') as f:
        #Do all the stuff you do to each file

这样,您所做的读取每个文件的任何操作都会重复,并应用于中的每个文件list_of_files由于列表是有序的,因此其排序顺序与列表排序的顺序相同。

借用@ The2ndSon的答案,您可以使用拾取文件os.listdir(dir)这将简单地dir以任意顺序列出所有文件和目录您可以从中拉出并订购所有文件,如下所示:

allFiles = os.listdir(some_dir)
logFiles = [fname for fname in allFiles if "log" in fname.split('.')]
logFiles.sort(key = lambda x: x.split('.')[-1])
logFiles[0], logFiles[-1] = logFiles[-1], logFiles[0]

上面的代码将与文件名(诸如此类)一起"somename.log", "somename.log.2"使用。然后logFiles您可以将其作为插入并插入list_of_files请注意,仅当第一个文件"somename.log"不是时,最后一行才是必需"somename.log.1"如果第一个文件的末尾有数字,则只需排除最后一步

逐行说明:

  • allFiles = os.listdir(some_dir)

此行将其中的所有文件和目录some_dir作为列表返回

  • logFiles = [fname for fname in allFiles if "log" in fname.split('.')]

执行列表推导,以收集log名称中带有扩展名的所有文件"something.log.somethingelse"将包括在内,"log_something.somethingelse"不会。

  • logFiles.sort(key = lambda x: x.split('.')[-1])

按最后一个扩展名对日志文件列表进行排序。x.split('.')[-1]将文件名拆分为以句点分隔的值的列表,并获取最后一个条目。如果名称为"name.log.5",则将按排序"5"如果名称为"name.log",则将按排序"log"

  • logFiles[0], logFiles[-1] = logFiles[-1], logFiles[0]

交换日志文件列表的第一个和最后一个条目。这是必需的,因为排序操作将"name.log"作为最后一个条目和第一个条目"nane.log.1"

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Python中读取多个nltk语料库文件并写入单个文本文件

来自分类Dev

如何读取目录中的文件并写入文件

来自分类Dev

如何在单个文件中读取多个JSON对象?

来自分类Dev

如何从多个文件读取数据并写入单个文件的列

来自分类Dev

如何将多个目录中的多个.parquet文件读取到单个pandas数据框中?

来自分类Dev

如何在Android中读取和写入csv文件?

来自分类Dev

如何在Python中读取和写入INI文件

来自分类Dev

如何在Python中读取和写入INI文件

来自分类Dev

如何在C#中同时读取和写入文件

来自分类Dev

如何在Verifone中从.dat文件读取和写入

来自分类Dev

如何在离子中写入和读取json文件

来自分类Dev

如何在 Python 中读取和写入 CSV 文件

来自分类Dev

如何在pyspark中读取和写入coordinateMatrix到文件

来自分类Dev

如何在以 utf-8 格式保存的文件的单行中读取和比较不同的单词?在蟒蛇?

来自分类Dev

如何在Python的父目录中打开/读取/写入文件夹中的文件?

来自分类Dev

如何将列表写入和读取到文件?蟒蛇 3.7

来自分类Dev

如何在 Perfect-Swift 中读取和写入图像到 Web 根目录?

来自分类Dev

如何在R中的循环中将多个数据帧写入单个csv文件?

来自分类Dev

如何在Python中写入多个文件?

来自分类Dev

如何读取和写入多个子文件夹?

来自分类Dev

如何在R中读取多个文件并从中创建单个数据帧?

来自分类Dev

如何在python中的特定目录中读取多个.gz文件而不解压缩它们

来自分类Dev

Google Colaboratory中的Python-如何在Google Drive中创建,写入和读取文件

来自分类Dev

如何在 Python 中按升序从文件中读取和写入值?

来自分类Dev

如何使用Dockerfile中的单个COPY层在不同的源目录和目标目录中复制多个文件

来自分类Dev

在Windows中,如何在C中跟踪子进程读取和写入的文件?

来自分类Dev

如何在Java中从二进制文件写入和读取学生对象

来自分类Dev

当规模巨大时,如何在MATLAB中将数组数据写入和读取到文件中?

来自分类Dev

如何在Apache Cordova中读取和写入外部xml文件?

Related 相关文章

  1. 1

    如何在Python中读取多个nltk语料库文件并写入单个文本文件

  2. 2

    如何读取目录中的文件并写入文件

  3. 3

    如何在单个文件中读取多个JSON对象?

  4. 4

    如何从多个文件读取数据并写入单个文件的列

  5. 5

    如何将多个目录中的多个.parquet文件读取到单个pandas数据框中?

  6. 6

    如何在Android中读取和写入csv文件?

  7. 7

    如何在Python中读取和写入INI文件

  8. 8

    如何在Python中读取和写入INI文件

  9. 9

    如何在C#中同时读取和写入文件

  10. 10

    如何在Verifone中从.dat文件读取和写入

  11. 11

    如何在离子中写入和读取json文件

  12. 12

    如何在 Python 中读取和写入 CSV 文件

  13. 13

    如何在pyspark中读取和写入coordinateMatrix到文件

  14. 14

    如何在以 utf-8 格式保存的文件的单行中读取和比较不同的单词?在蟒蛇?

  15. 15

    如何在Python的父目录中打开/读取/写入文件夹中的文件?

  16. 16

    如何将列表写入和读取到文件?蟒蛇 3.7

  17. 17

    如何在 Perfect-Swift 中读取和写入图像到 Web 根目录?

  18. 18

    如何在R中的循环中将多个数据帧写入单个csv文件?

  19. 19

    如何在Python中写入多个文件?

  20. 20

    如何读取和写入多个子文件夹?

  21. 21

    如何在R中读取多个文件并从中创建单个数据帧?

  22. 22

    如何在python中的特定目录中读取多个.gz文件而不解压缩它们

  23. 23

    Google Colaboratory中的Python-如何在Google Drive中创建,写入和读取文件

  24. 24

    如何在 Python 中按升序从文件中读取和写入值?

  25. 25

    如何使用Dockerfile中的单个COPY层在不同的源目录和目标目录中复制多个文件

  26. 26

    在Windows中,如何在C中跟踪子进程读取和写入的文件?

  27. 27

    如何在Java中从二进制文件写入和读取学生对象

  28. 28

    当规模巨大时,如何在MATLAB中将数组数据写入和读取到文件中?

  29. 29

    如何在Apache Cordova中读取和写入外部xml文件?

热门标签

归档