Как рекурсивно пройтись по всем подкаталогам и прочитать файлы?
У меня есть каталог root-ish, содержащий несколько подкаталогов, каждый из которых содержит имя файла data.txt. То, что я хотел бы сделать, это написать скрипт, который принимает "корень» каталог, а затем читает все подкаталоги и читает каждый "data.txt» в подкаталогах, а затем записывает материал из каждого файла data.txt в выходной файл.
Вот'Вот фрагмент моего кода:
import os
import sys
rootdir = sys.argv[1]
with open('output.txt','w') as fout:
for root, subFolders, files in os.walk(rootdir):
for file in files:
if (file == 'data.txt'):
#print file
with open(file,'r') as fin:
for lines in fin:
dosomething()
Моя часть досягаемости () - яЯ проверил и подтвердил, что он работает, если я запускаю эту часть только для одного файла. Я'Мы также подтвердили, что если я скажу ему распечатать файл (закомментированную строку), сценарий напечатает 'data.txt.
Прямо сейчас, если я запускаю его, Python выдаст мне эту ошибку:
File "recursive.py", line 11, in
with open(file,'r') as fin:
IOError: [Errno 2] No such file or directory: 'data.txt'
Я не уверен, почему это можетне могу найти его - в конце концов, он распечатывает data.txt, если я раскомментируюраспечатать файл' линия. Что я делаю неправильно?