Python循环中处理文本文件

时间:2017-02-26 18:28:43

标签: python python-3.x

我在同一个文件夹中有10个文本文件。我想在for循环中单独处理每个文本文件。

def qwerty():
    with open('file.txt') as f:
       dicts = {}
       for words in f:
          split_words = reg.finditer(words)
          for line in split_words:
             group1 = line.group(1)
             if group1 not in dicts:
                dicts[group1] = 1
             else:
                dicts[group1] += 1 
     return dicts

这是我处理单个文本文件的代码。如何运行一个循环来处理我逐个处理的所有文本文件?因此,文本文件的数量对应于for循环中的迭代次数。

2 个答案:

答案 0 :(得分:1)

您可以使用os模块迭代当前directry中的所有文件,并仅过滤txt文件:

import os

for file_name in os.listdir("./"):
    if file_name.endswith(".txt"): # Add some other pattern if possible
        # Call your method here

您当前的目录也会包含其他一些文件,这些文件可能无法过滤,因此最好将txt文件移到另一个位置。

答案 1 :(得分:0)

您可以枚举文件夹中的文件并在for循环中使用它

import os
from glob import glob

def qwerty(folder_path="."):
    for filename in glob(os.path.join(folder_path, "*.txt")):
        ... do your processing