我想打开包含所有文件的主文件夹(1),搜索文件并只抓取标题中带有“mtn”的任何 .txt 文件(2),打印 txt 文件列表(3)然后列出 txt csv 文件中的文件,包括它们的完整路径 (4)。
我可以使用我当前的代码执行 (1) 到 (3),但是生成的 CSV 文件只包含最后一个文件名,所以我认为我的循环顺序有问题
mtnpath = r"G:\somepath\"
num_files = 0
for root, dirs, files in os.walk(mtnpath):
for filename in files:
if fnmatch.fnmatch(filename, '*mtn*'):
num_files = num_files + 1
with open(mtnpath + "/" + "txt_file_list.csv", 'w+', newline='') as f:
thewriter = csv.writer(f)
# write the header row
thewriter.writerow(['Filename', 'Path', ])
# write the rest of the rows with files and path
thewriter.writerow([filename, 'Path', ])
print(filename)
print("The total number of mtn files found was " + str(num_files))
在控制台中,我得到了文件名的运行列表和最后找到的 565 个文件的语句。CSV 文件应该列出所有这些文件,但只有最后一个。
我尝试for
在标题下缩进另一个循环:
for filename in files: thewriter.writerow([filename, 'Directory', ])
但这也不起作用。
有只小跳蛙
PIPIONE
相关分类