У меня есть список папок, которые мне нужно открыть и прочитать файл .log. Сначала у меня не было списка папок, поэтому я сканировал все файлы в каталоге. Это приведет к избыточности того, для чего я хочу это использовать.
path = '/home/User/Test/'
files = []
# r=root, d=directories, f = files
for r, d, f in os.walk(path):
for file in f:
if '.log' in file:
files.append(os.path.join(r, file))
for f in files:
log_file = open(f, 'r')
lines = log_file.readlines()
log_file.close()
Теперь у меня есть список paths
, который выглядит как ['/home/User/Test/folder_test/Process1/Task1/2019-07-31T10%3A30%3A00+00%3A00', ...., 'final_path']
Как я могу перебирать пути, чтобы он открывал папку, а затем извлекал файл .log?
ПРИМЕЧАНИЕ. Я избавляюсь от path = '/home/User/Test/'
, так как у меня есть список конкретных каталогов.
files.append(os.path.join(r, file))
наlogfile = open(os.path.join(r, file));lines = logfile.readlineas();logfile.close()
- person Poojan   schedule 31.07.2019for path in paths:
над циклом. Это действительно имеет смысл, но не работает. Я собираюсь поместить несколько новых тестовых папок в свой каталог. Потому что моя программа делает много разных вещей. - person Josh   schedule 31.07.2019is not working
немного широк, отредактируйте свой вопрос, указав точную ошибку.There should be one-- and preferably only one --obvious way to do it.
(Дзен Питона) - person Corentin Limier   schedule 31.07.2019