input()函数对我不起作用(Python 3.3)

时间:2014-03-17 16:25:02

标签: python python-3.x input sublimetext2

我使用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 个答案:

答案 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