Не могу использовать файлы внутри моих подкаталогов - PullRequest
0 голосов
/ 20 июня 2019

Я создаю программу, которая может читать определенные данные из некоторых текстовых файлов, проблема возникает, когда я пытаюсь использовать файлы внутри подкаталогов (подкаталоги находятся в главном каталоге программы. Я использую длявозможность найти все файлы и затем создать новый файл с информацией, которую я нашел. Основная проблема заключается в том, что я не могу прочитать эти файлы.

Я попытался использовать функцию для, которая создает списоккаталоги, файлы и корни, это работает нормально, но в момент запуска файла он говорит, что «он не может быть найден txt файл». Если условие не выполнено, то программа исключает все файлы .DS_Store. Я думаю, что проблема может бытькак я открываю файл, но я не уверен

       for root, directories, filenames in os.walk("Files_to_Insert"):

                   if not (filenames[-1] == ".DS_Store"):
                           lastFile = filenames[-1]
                            print lastFile

                             with open (lastFile, 'rt') as myfile: 

IOError: [Errno 2] Нет такого файла или каталога: txt Ошибка происходит в с открытым, потому что он не может найти файл. Когда япечать Я получаю все текстовые файлы, но не могу использовать их в «с открытым»

Ответы [ 2 ]

0 голосов
/ 20 июня 2019

Я решаю это путем указания пути и текстового файла в отдельных строках:

 for root, directories, filenames in os.walk("Files_to_Insert"):



        if  not(filenames[-1] == ".DS_Store"):
            lastFile = filenames[-1]
            # print (lastFile)

            with open(str(root) + '/' + lastFile,'rt') as myfile:
0 голосов
/ 20 июня 2019

Типичный os.walk, который я использую, выглядит так:

import os

for root, directories, filenames in os.walk("."):
    for f in filenames:
        if f.endswith(".DS_Store"):
            continue
        print(os.path.abspath(f))
        with open (os.path.abspath(f), 'rt') as myfile:
...