input()函数在我这里无法使用(Python 3.3)
我在使用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]
这是为什么呢?
2 个回答
还有一种解决方案,可以让你继续使用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
文件,按下 CtrlB 来构建。这样会打开一个新的命令行窗口,你可以在里面随意输入值。当程序运行完毕后,窗口会保持打开状态,让你查看输出、错误信息等等。只需关闭这个窗口,就可以返回到Sublime。
我非常推荐使用SublimeREPL进行交互式开发和运行小段代码,但有时候你确实需要在命令行环境中与程序进行交互。这个构建系统可以让你做到这一点,而不需要每次都切换到一个打开的命令窗口,手动运行 python myprogram.py
来构建。
从终端或命令行运行这个脚本。
Sublime Text 2 本身在构建时不允许你输入任何内容,所以会出现 EOFError
错误,因为你的输入是空的。
这里有一个可能的解决办法:Sublime Text 2 控制台输入
一个完整的解决方案是安装 SublimeREPL(这是一个为 Sublime Text 提供的插件)。你可以从这里了解如何安装:在 Sublime Text 2 中处理 Python 输入 EOFError