【发布时间】:2014-03-05 15:09:22
【问题描述】:
我有一个 python 脚本,可以从标准输入或文件中读取它的数据。为此,我以下列方式使用fileinput:
for line in fileinput.input(args.path):
read.parseLine(line)
效果很好。但是,在阅读了这个文件/输入之后,我希望能够使用 read 通过标准输入向用户询问一些额外的输入:
data = raw_input("Please enter your data for port {}: ".format(core.getPort()))
这不起作用,因为 raw_input 不断遇到 EOF。
Please enter your data for port 0: Traceback (most recent call last):
File "app_main.py", line 72, in run_toplevel
File "/usr/local/bin/dvm", line 98, in <module>
data = raw_input("Please enter your data for port {}: ".format(core.getPort()))
EOFError
我尝试使用sys.stdin.seek(0) 解决此问题,但返回以下错误:
Traceback (most recent call last):
File "app_main.py", line 72, in run_toplevel
File "/usr/local/bin/dvm", line 88, in <module>
sys.stdin.seek(0)
IOError: [Errno 29] Illegal seek: '<fdopen>'
有没有什么方法可以在使用 fileinput 后要求用户输入?
【问题讨论】:
标签: python python-2.7 stdin