Программа на Python, которая читает текстовый файл для ввода? - PullRequest
0 голосов
/ 01 марта 2019

Итак, я сейчас пытаюсь написать код, который открывает и читает текстовый файл.Текстовый файл содержит короткий абзац.Внутри абзаца есть несколько слов с квадратными скобками вокруг них, которые могут выглядеть так: «мальчик [past_tense_verb] в стену».Я пытаюсь написать код, который ищет квадратные скобки в текстовом файле, а затем отображает пользователю слова в текстовом файле, чтобы пользователь затем мог написать ввод, который заменит слова в квадратных скобках.Вот код, который у меня есть:

f = open('madlib.txt', 'r')
for line in f:
    start = line.find('[')+1
    end = line.find(']')+1
    word = line[start:end+1]
    inputword = input('Enter a ' + word + ': ')
    print(line[:start] + inputword + line[end:])

Любая помощь очень ценится - спасибо!

1 Ответ

0 голосов
/ 01 марта 2019
import re

with open('madlib.txt', 'r') as f:
    data = f.read()

words_to_replace = re.findall(r"\[(\w+)\]", data)
replace_with = []

for idx, i in enumerate(words_to_replace):
    print(f"Type here replace \033[1;31m{i}\033[1;m with:", end =" ")
    a = input()
    replace_with.append(a)

for idx, i in enumerate(replace_with):
    data = data.replace(words_to_replace[idx], i)

with open('newmadlib.txt', 'w') as f:
    f.write(data)
...