pythoneof错误_raw_input()中的Python EOF错误

我试图在命令提示符下从用户获取输入.程序以“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`

此代码导致EOFError.根据我的理解,stdin是在这种情况下从cat读取的,因为它已经达到了EOF,这就是为什么raw_input在这里获得EOF的原因? (我认为)目标是让脚本打印标准错误警告,让我选择是否忽略警告并继续或完全退出.最后,所有输出都转到标准输出,不包括任何错误警告或响应.我见过使用try / exception的例子,但在这种情况下我无法理解它. (例如.为什么raw_input不等待输入?)

我想我可能只是以错误的方式攻击这个问题,从而产生一个可以更好地走动然后跳过的问题.任何帮助一如既往地受到赞赏.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值