读取文本文件以供输入的Python程序?

时间:2019-03-01 01:28:56

标签: python python-3.x input

因此,我目前正在尝试编写一些打开并读取文本文件的代码。文本文件包含一个简短的段落。在该段中,有一些带括号的单词,看起来像:“男孩[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 :(得分:3)

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)