我正在学习Python,并且在test.py中有以下代码:
string = input()
print(string)
与教程相反,它给了我一个错误:
string = input()
EOFError: EOF when reading a line
我不知道我在这里做错了什么!任何帮助表示赞赏!
运行代码时似乎出现
EOFError
异常。 EOFError
是“行尾错误”的缩写。当 Python 到达用户输入末尾而没有接收到任何输入时,会发生此错误。
出现
EOFError
的原因是,当没有给出数据时,Python 会尝试打印出变量 string
中的输入。
通常,当您按 Enter 键作为输入时,不应弹出此错误,因为它将变量注册为代码中的字符串。可以通过以下按键手动触发:
Ctrl + Z
-> Enter
Ctrl + D
-> Enter
我建议使用相同的代码重新运行您的程序,因为不太可能出现
EOFError
。当程序需要输入时尽量避免使用上述按键,这样就不会出现错误。
如果您不想在程序中看到错误,请尝试处理错误并执行其他操作,例如打印字符串。如果发生 EOFError 异常,我输入的代码块将打印“没有数据提供给输入函数”。
try:
string = input()
print(string)
except EOFError:
print("no data provided to input function")
如果您是初学者,那么在开始使用 Python 时将不需要此代码片段。仅供友好提示,您应该命名与其用途相关的变量(例如:将两个数字的和命名为 sum1 而不是整数)。对于短期使用来说,以其数据类型命名是可以的,但据我所知,在任何编码语言中都不常见。
(我对 StackOverflow 的第一个回答...)
官方文档:EOFError
''' 检查从 readline() 获得的内容以及它是否为空,避免 EOF 错误 通过检查内容 ''' 文件1 = 打开(“some_file”,“r”) 帕克兹卡 = 1 而帕克兹卡: paczka= file1.readline() paczka= paqote.replace(',', ' ').split() 如果 paczka!= []: # 最后一个元素将是 []