我觉得我缺乏正确搜索问题答案的术语,因此任何正确方向的提示将不胜感激。
我有一个脚本,它需要多个 (>30) 用户输入来使用 jinja2 模板创建 json 文件。我经常需要向 python 代码和 jinja2 模板添加内容。对于每个更改,通常可能有 4-5 个不同的用户输入。
我不想每次都手动输入超过 30 个用户输入,而是希望将其自动化。例如,有没有办法创建一个列出超过 30 个用户输入的文本文件并迭代该文件?
示例如下:
question1 = input('How much is 1+1?')
question2 = input('Will I find an answer to my problem?')
question3 = input('What should be the next question?')
然后包含答案的文件将如下所示:
2
If you are lucky
No idea
如果可能的话,我希望只需要对代码进行最少的修改。
最佳答案
您正在寻找像 pickle 或 json 这样的东西。如果您选择在文本编辑器中编辑这些,Json 将会更加清晰。
import json
answers = {'question1': 2, 'question2': 'If you are lucky'}
with open('answer_log.txt', 'w') as file:
file.write(json.dumps(answers))
然后加载您调用的文件:
with open('answer_log.txt', 'r') as file:
answers = json.loads(file.read())
这将创建一个易于编辑的文本文件,如下所示:
'{"question1": 2...........}'
现在您有了一个 Python 字典,您可以轻松地迭代以自动化您的流程。
关于python - 在 python 中自动从文件进行用户输入以进行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58089040/