我在同一个文件夹中有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循环中的迭代次数。
答案 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