3
我有許多目錄中包含文件。我想創建分隔的txt文件顯示目錄名一個逗號,是特定的目錄內的文件,見下面的例子:目錄名稱+文件名到文本文件
我正在尋找:
DirName,Filename
999,123.tif
999,1234.tif
999,abc.tif
900,1236.tif
900,xyz.tif
...etc
的Python代碼下面將這些文件路徑的列表推入到文本文件中,但是我不確定如何按上述格式化列表。
我當前的代碼看起來像:
更新
我已經能夠現在格式化的文本文件,但是我注意到所有的目錄名/文件名沒有被寫入到文本文件。它只能寫入4000個〜8000目錄/文件。對於文本文件行數,列表(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()
謝謝
在你的csv片段下,應該是文件嗎?如果是這樣,我得到一個錯誤,說不能連接'str'和'list'。 – artwork21
對不起@ artwork21,現在是固定的,'p'確實是'f'(文件的當前路徑) –
太好了,謝謝! – artwork21