输入fi

2024-09-30 05:28:49 发布

您现在位置:Python中文网/ 问答频道 /正文

请求用户根据他们的姓名、感受和当天的活动进行输入

一旦代码运行,它将要求这些输入,用户当然必须在Python IDLE中输入输入

我希望用户回答文本文件中的问题,而不是将输入输入输入Python IDLE。我该怎么做

questions = open ("questions.txt","a+")

quest1 = input("Hi what is your name?: ")
quest2 = input("How are you today?: ")
quest3 = input("What would you like to do?: ")

allQuests = quest1+","+quest2+","+quest3

questions.write(str(allQuests+("\n"))
questions.close()

Tags: 用户txtyouinputopenhiquestions姓名
1条回答
网友
1楼 · 发布于 2024-09-30 05:28:49

可以使用从文本文件读取的内容设置io.StringIO(或在2.7 StringIO中)对象

import io

answer_file = 'file name of the answer file'
f = open(answer_file)
myStringIOvar = io.StringIO(f.read())
f.close()

然后设置

 sys.stdin = myStringIOvar

这样,对input()的调用就可以从来自文本文件的流中读取。这些提示仍然会在stdout上显示(毫无用处),您将无法在以后的程序中读取标准输入

更好的解决方案是重写程序,查看sys.args并查看是否在命令行上传递了文件名。如果是这样,则调用返回从文件读取的数据的子例程。如果不是,则调用使用input()以交互方式提示用户的子例程

另一种选择是,您的程序首先要求用户提供答案文件名,如果他们不提供答案(即只需按return键),您可以交互式地进行询问

相关问题 更多 >

    热门问题