В Python, как прочитать строки в текстовом файле и создать два разных выходных файла для определения того, существуют ли ключевые слова и не существуют - PullRequest
0 голосов
/ 20 апреля 2020

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

Я пробовал операторы else и elif, а также модуль Queue, но продолжаю получать случайные повторяющиеся строки с ключевыми словами и без них в обоих выходных файлах. .

Мне также не удалось найти метод, который позволил бы l oop также подсчитывать слова в верхнем регистре, ключевые слова с заглавными буквами и множественные формы ключевых слов. Следовательно, грязный вид в списке ниже.

Моя последняя попытка была:

fileToSearch = "Test file to search keywords from.txt"
fileToContainOnlyKeywords = "Only Keywords.txt"
fileToContainNoKeywords = "No Keywords.txt"

listOfKeywords = ['one', 'One', 'ONE', 'ones', 'two', 'Two', 'TWO']

f_output_1 = open(fileToContainOnlyKeywords, 'w')
f_output_2 = open(fileToContainNoKeywords, 'w')

with open(fileToSearch,'r') as f_input:
  listOfAllLines = f_input.readlines()
  for line in listOfAllLines:
    for keyword in listOfKeywords:
      keywordFound = keyword in line
      if keywordFound:
        f_output_1.write(line)
  for line in listOfAllLines:
    for keyword in listOfKeywords:
      keywordFound = keyword in line
      if not keywordFound:
        f_output_2.write(line)
print("Done.")

Внутри исходного текстового файла (тестовый файл для поиска ключевых слов из .txt) выглядит так:

Solving one problem at a time is the key. # keyword
One way to solve this exists and I only need to find it. # keyword with initial capitalized
Solving four problems at a time is the bad way to go. # no keyword
I'm a sentence containing the keyword TWO, so I should be in the second file. # keyword
This is another sentence without keywords and it needs to be in the third file. # no keyword

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

Заранее спасибо и счастливого кодирования!

...