我有许多目录,其中包含文件。我想创建一个以逗号分隔的 txt 文件,显示目录名称以及该特定目录中的文件,请参见下面的示例:
我在找什么:
DirName,Filename
999,123.tif
999,1234.tif
999,abc.tif
900,1236.tif
900,xyz.tif
...etc
下面的 python 代码将这些文件路径的列表推送到文本文件中,但是我不确定如何如上所述格式化列表。
我当前的代码如下所示:
更新
我现在已经能够格式化文本文件,但是我注意到所有目录名/文件名都没有被写入文本文件。它只写入 ~8000 个目录/文件中的 ~4000 个。文本文件的行数、列表(mylist)大小或某些阻止它的错误文件目录/文件字符是否存在某种排序限制(请参阅下面的更新代码)?
from os import listdir
from os.path import isfile, join
root = r'C:\temp'
mylist = ['2']
for path, subdirs, files in os.walk(root):
for name in files:
mylist.append(os.path.join(path, name))
txt = open(r'C:\temp\output.txt', 'w')
txt.write('dir' + ',' + 'file' + '\n')
for item in mylist:
list = mylist.pop(0)
dir, filename = os.path.basename(os.path.dirname(list)), os.path.basename(list)
txt.write(dir + ',' + filename + '\n')
with open(r'C:\temp\output.txt', 'r') as f:
read_data = f.read()
谢谢你