我试图在命令提示下从用户获取输入。程序以“cat text.txt |/thescript.py”的方式从文本文件中读取数据
在所讨论的脚本中,所有数据都已经被读入、处理并放入一个列表列表中。
现在,我正在遍历这个列表,寻找有问题的项目。代码基本上如下所示:for invoice in parsedlist:
if invoice[-1] == 3:
sys.stderr.write("triple duplicate at " + invoice[2]+' : ' + invoice[3]+"\n")
sys.stderr.write("continue Y or N \n")
answer = raw_input("Type your answer here")
if answer == 'N':
sys.exit(1)
else:
pass`
这段代码产生一个eoferor。据我所知,stdin在本例中是从cat读取的,既然它已经达到EOF,这就是raw_input在这里获得EOF的原因?(我认为)目标是让脚本打印一个标准错误警告,让我选择是否忽略该警告并继续或完全退出。最后,所有输出都将转到std out,并且不包括任何错误警告或响应。我见过使用try/exception的示例,但在这种情况下我无法理解它。(例如,为什么原始输入不等待输入?)
我想我可能只是用错误的方式来解决这个问题,从而产生了一个问题,这个问题可以更好地绕过然后跳过。任何帮助我们都会一如既往地感激。