我使用Sublime Text 2.构建此代码时:
first = input()
print (first)
我收到此错误:
Traceback (most recent call last):
File "C:\Users\user\Desktop\21314", line 1, in <module>
first = input()
EOFError: EOF when reading a line
[Finished in 0.2s]
为什么?
答案 0 :(得分:1)
还有另一种解决方案仍允许您使用Sublime的构建系统,以防SublimeREPL完全适合您的工作流程。使用以下内容创建一个新文件:
{
"cmd": ["start", "cmd", "/k", "c:/python33/python.exe", "$file"],
"selector": "source.python",
"shell": true,
"working_dir": "$file_dir"
}
并将其保存为Packages/User/Python_cmd.sublime-build
,其中Packages
是在选择Preferences -> Browse Packages...
时打开的文件夹 - 它应为%APPDATA%/Sublime Text 2/Packages
。
接下来,转到Tools -> Build System
并在底部选择Python_cmd
,然后切换到.py
文件,然后按 Ctrl B 建立。将打开一个新的命令行窗口,允许您输入值到您心脏的内容。程序完成后,窗口将保持打开状态,允许您检查输出,回溯等。只需关闭窗口即可返回Sublime。
我强烈推荐使用SublimeREPL进行交互式开发,并运行少量代码,但有时候您希望在命令行环境中与程序进行交互。此构建系统允许您执行此操作,无需切换到打开的命令窗口,并在每次要构建时手动运行python myprogram.py
。
答案 1 :(得分:0)
从终端或命令行运行脚本。
Sublime Text 2本身不允许您在构建期间input
任何内容,因此EOFError
会因为您的输入为空而被引发。
此处描述了可能的解决方法:Sublime Text 2 console input
完整解决方案是安装SublimeREPL(Sublime Text的软件包)。从这里了解如何:Python input EOFError in Sublime Text 2