.write () ничего не записывает в выходной файл python - PullRequest
0 голосов
/ 28 февраля 2019

, поэтому я пытаюсь открыть несколько файлов в каталоге, удалить некоторые слова из этих файлов и записать вывод в файл в том же каталоге.У меня проблемы при попытке записи в выходной файл.В файл ничего не пишется.Любая помощь, пытаясь исправить это, будет принята с благодарностью!Вот мой код:

path = 'C:/Users/User/Desktop/mini_mouse'
output = 'C:/Users/User/Desktop/filter_mini_mouse/mouse'
for root, dir, files in os.walk(path):
    for file in files:
        #print(os.getcwd())
        #print(file)
        os.chdir(path)
        #print(os.getcwd())
        with open(file, 'r') as f, open('NLTK-stop-word-list', 'r') as f2:
            #x = ''
            mouse_file = f.read().split()  # reads file and splits it into a list
            stopwords = f2.read().split()
            x = (' '.join(i for i in mouse_file if i.lower() not in (x.lower() for x in stopwords)))
            #print(x)
            with open(output, 'w') as output_file:
                output_file.write(x)

1 Ответ

0 голосов
/ 28 февраля 2019

Вы стираете содержимое файла каждый раз, когда открываете его в режиме 'w' в цикле.Таким образом, если ваш код такой, вы не увидите ничего в файле, если ваша последняя итерация цикла даст пустой результат.

Измените режим на 'w+' или 'a':

        with open(output, 'w+') as output_file:

Чтение и запись файлов :

Режим может быть «r», когда файл будет только читаться, «w» только для записи (существующий файл сто же имя будет стерто), и 'a' открывает файл для добавления;

...