我必须分析所有的文本文件是在不同的子文件夹。主文件夹是'Data'。其中有许多子文件夹。我必须解析这些子文件夹中的所有文件并执行一些操作。我遇到了一个代码,但它不是真的工作。你知道吗
import glob
import os
dir="D:\\College\\Data"
file_write_in_results = open("D:\\result\\test_all_files.txt","w", encoding="utf8") # file in which we will write the desired results
subdirs = [x[0] for x in os.walk(dir)]
for subdir in subdirs:
files = next(os.walk(subdir))[2]
if (len(files) > 0):
for filename in files:
#for filename in glob.glob('*.txt'):
with open(filename, encoding="utf8") as f:
for line in f:
if "signed by" in line:
file_write_in_results.write(filename)
file_write_in_results.write('\n')
file_write_in_results.close()
您不需要遍历dir,因为它们也将在
root
变量中提供,只有files
需要在内部循环中循环,如下所示:一定要使用正确的
encoding
和mode
。mode='rb'
会更安全,而且您可以将其全部包装在try except
中以处理有问题的文件,这样在遇到此类文件时解析过程不会停止。你知道吗相关问题 更多 >
编程相关推荐