Я хочу открыть основную папку, содержащую все файлы (1), выполнить поиск по файлам и захватить только файл .txt с «mtn» в заголовке (2), распечатать список файлов txt (3), затем перечислить текстовые файлы в 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
l oop под заголовком:
for filename in files:
thewriter.writerow([filename, 'Directory', ])
но это тоже не работает.