#python #arrays #python-3.x #python-requests
#python #массивы #python-3.x #python-запросы
Вопрос:
Я пытаюсь удалить некоторые слова (расположенные в текстовом файле) из другого текстового файла. Хотя мой код, похоже, работает, я заметил, что он перестал удалять слова в определенный момент текстового файла. Затем я проверил текстовый файл и заметил, что Python записывает все слова в одну строку, и в этой строке есть ограничение на количество символов, что приводит к остановке процесса. Как я могу это обойти?
Вот мой код:
# text file list to array
with open('function_words.txt') as functionFile:
functionWords = [word for line in functionFile for word in line.split()]
# delete the word on the text file if it matches one of the array
with open("results.txt", "r ") as newfile:
newfile.write(' '.join(i for i in toPrint.read().split() if i not in functionWords))
Заранее спасибо и, пожалуйста, дайте мне знать, если вам нужна более подробная информация.
Комментарии:
1. объединить с
n
вместо пробела?2. @Sayse, который помещает каждое слово в новую строку, чего я тоже не пытаюсь сделать:(
3. Неясно, что вы пытаетесь сделать, попытка сделать это с пониманием, вероятно, делает это намного сложнее для вас, чем это должно быть
Ответ №1:
вам нужно будет поставить «n» после соединения со строкой, если вы хотите, чтобы каждая строка была отдельной в новом файле. Обратите "n"
внимание на приведенное ниже.
with open("results.txt", "r ") as newfile:
newfile.write(' '.join(i for i in toPrint.read().split() if i not in functionWords) "n")
alt. вы могли бы создать список строк, которые вы хотите написать, и написать newFile
, используя эти writelines()
методы. Что — то вроде:
newFile.writelines(my_list_of_lines_to_write)