从stdin / file读取输入并为较少的输入引发错误

时间:2016-06-11 08:30:47

标签: python

假设我们有一个简单的python代码:

name  ID1   ID2
b     NA    2
c     3     NA

根据我的要求,我应该能够以这种方式转换上面的代码(我作为用户的一些输入),我应该能够从预定义的文件中为它提供输入。怎么做 ?一旦我们添加了该代码,就可以了。但是如果我们添加另一个输入,如下面的“num3 = input()”,它会在读取一行时引发EOFError:EOF等错误。如何提出这样的错误?

num1 = input()
num2 = input()  
res = sum(num1,num2)

如有任何问题,请与我们联系。

1 个答案:

答案 0 :(得分:1)

据我所知,除了标准输入之外,没有办法告诉Pythons输入函数读取任何东西。在不重写代码以使用文件对象的情况下,您可以将文件重定向到stdin。这会在文件末尾发送一个eof并引发你期望的错误。

例如run:

python script.py < file.in

或者,如果您在文件的第一行有一个shebang,并且您已将其设为可执行文件:

./script.py < file.in

这是假设你正在运行基于Linux或使用POSIX shell的东西。