我使用的是python 2.7.6,调用
raw_input()
时,出现异常:
flight_name = raw_input('\nEnter the name of Flight: ')
我找到了解决办法,但是为什么会出现这样的异常呢?是袋子吗
try:
flight_name = raw_input('\nEnter the name of Flight: ')
except (EOFError):
break
我正在使用 PyCharm。
您可以使用:
sys.stdin = open('/dev/tty')
answer = raw_input('Commit anyway? [N/y] ')
这个答案
sys.stdin = open('/dev/tty')
answer = raw_input('Commit anyway? [N/y] ')
如果您之前在代码中读取过 sys.stdin,则 非常有用。 在这种情况下, raw_input 行将抛出 EOF 错误,而不等待用户输入,如果您在 raw_input 之前设置 sys.stdin = open('/dev/tty') ,它会重置 stdin 并允许用户输入工作。 (在 python 2.7 中测试)与
## test.py
import sys
for line in sys.stdin:
pass
#sys.stdin = open('/dev/tty')
raw_input("Are you sure?")
回显“abc”| python 测试.py
哪个提高:
EOFError:读取行时出现 EOF
直到取消倒数第二行的注释。
您尝试从标准输入读取某些内容,但什么也没有得到,只有 EOF。这实际上让您知道用户没有提供任何输入,您可以针对这种情况执行其他操作。