使用未注册版本的Sublime Text(就是这个问题)?
当我运行以下代码时,它会提示我输入我的名字,我输入并点击回车,然后没有任何反应:
dict_1 = []
count = 0
while count < 3:
fn = input('What is your first name:')
ln = input('What is your last name:')
dict_1.append({
"first_name": fn,
"last_name": ln
})
count += 1
print(dict_1)
然而,当我在PyCharm中运行完全相同的代码时,它会根据循环提示输入名字和名字3次,然后输出结果字典。
我更喜欢Sublime Text到Pycharm(不太臃肿)但是如果它不执行所有代码那么它可能对我不起作用。
有什么想法吗? Sublime Text中是否有一些设置我缺少?
答案 0 :(得分:3)
Sublime Text&#34; Build results&#34; pannel(界面的底部):
不是交互式的,你不能在那里输入输入。
为了解决这个问题,除了标准的 CTRL + B 构建快捷方式之外,我还添加了另一个快捷方式(在菜单首选项&gt;键绑定中 - 用户):
{ "keys": ["ctrl+shift+alt+b"], "command": "python_run" }
允许在新的终端窗口中使用Python 启动当前文件(在那里,您可以输入一些数据)。
以下是python_run.py
文件(要在C:\Users\User\AppData\Roaming\Sublime Text 2\Packages\User
中复制):
import sublime
import sublime_plugin
import subprocess
class PythonRunCommand(sublime_plugin.WindowCommand):
def run(self):
command = 'cmd /k "C:\Python27\python.exe" %s' % sublime.active_window().active_view().file_name()
subprocess.Popen(command)
答案 1 :(得分:0)
正如其他人所指出的,Sublime的控制台不支持输入。如果要运行需要标准输入输入的程序。您可以在GUI终端中运行它。你可以为python修改Sublime的内置build system并为Python添加一个变种。
prv
,然后选择Open Resource
。
python
,并选择结果列表中的第一项。Python.sublime-build
,。 在打开的文件中,使用以下设置:
{
"shell_cmd": "python -u \"$file\"",
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"env": {"PYTHONIOENCODING": "utf-8"},
"variants":
[
{
"name": "Syntax Check",
"shell_cmd": "python -m py_compile \"${file}\"",
},
{
"name": "Run in console",
"windows":{
"shell_cmd": "start cmd /k python -u \"$file\""
},
"linux":{
"shell_cmd": "xterm -hold -e python -u \"$file\""
},
"osx":{
"shell_cmd": "xterm -hold -e python -u \"$file\""
}
}
]
}