我试图列出目录名和文件名,mp4文件和空目录在一个csv。我得到了输出,但它打印了很多次。有什么帮助吗?提前谢谢
import csv
import os
import sys
with open('Files.csv', 'w', newline='') as f:
fieldnames = ['Foldername', 'Filename','mp4filelist','Empty folders']
writer = csv.DictWriter(f, fieldnames=fieldnames)
writer.writeheader()
for dirpath, dirnames, files in os.walk(sys.argv[1]):
for file_name in files:
for root, dirs, files in os.walk(sys.argv[1]):
for file in files:
if(file.endswith(".mp4")):
listmp4 = (os.path.join(root,file))
listOfEmptyDirs = [dirpath for (dirpath, dirnames, filenames) in os.walk(sys.argv[1]) if len(dirnames) == 0 and len(filenames) == 0]
for elem in listOfEmptyDirs:
writer.writerow({'Foldername' : f'{dirpath}', 'Filename' : file_name, 'mp4filelist' : listmp4, 'Empty folders' : listOfEmptyDirs })
在代码中,您在目录中迭代了两次,这就是您有多个条目的原因
仅供参考
os.walk(sys.argv[1])
递归解析该目录,因此您无需再次调用它我从您的要求中得到的是,您需要mp4文件名和目录路径,一列用于mp4文件列表,另一列用于空目录列表,以便执行以下操作:
相关问题 更多 >
编程相关推荐