如何解决Sublime Text运行Python代码时input()函数输入无响应的问题
问题原因
你写的Python代码本身没有语法错误,出现该问题是Sublime Text默认构建系统的限制:默认的输出面板是只读的,仅支持展示程序输出内容,无法接收用户输入的内容。你输入姓名后内容没有被程序捕获,程序会一直阻塞等待输入,看起来就是没有后续响应。
解决方法
方法1:通过系统终端直接运行(新手优先选,无需修改Sublime配置)
打开Windows命令提示符、macOS终端或Linux Shell,执行以下命令即可:# 切换到你的Python脚本所在目录,示例如下 cd C:\Users\xxx\Desktop\python_scripts # 运行脚本,Python3环境可替换为python3 文件名.py python test.py系统原生终端完全支持交互式输入,你的代码可以正常运行。
方法2:安装Terminus插件实现Sublime内交互运行
- 按下
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS)调出Package Control,选择「Install Package」,搜索「Terminus」完成安装 - 配置对应Python交互构建规则后,即可直接在Sublime内置的可交互终端中运行代码,支持输入内容。
- 按下
方法3:自定义构建系统调用系统终端运行
- 选择Sublime顶部菜单「Tools -> Build System -> New Build System」
- 替换默认内容为对应系统的配置:
- Windows配置示例:
{ "cmd": ["start", "cmd", "/k", "python", "$file"], "selector": "source.python", "shell": true }- macOS配置示例:
{ "cmd": ["open", "-a", "Terminal", "python3", "$file"], "selector": "source.python", "shell": true } - 将配置保存为
PythonWithTerminal.sublime-build,后续运行Python脚本时选择该构建系统,会自动弹出系统终端运行代码,支持交互输入。
额外优化建议
你当前的代码输出会把姓名和年龄连在一起,比如输入姓名张三、年龄18,输出结果为Hey, 张三18,可以修改print语句调整格式:
# 方法1:手动加空格 print("Hey, " + name + " " + age) # 方法2:用f-string(Python3.6+支持,写法更简洁) print(f"Hey, {name} {age}")
内容的提问来源于stack exchange,提问作者Vũ Duy Chương
相关产品推荐
相关产品推荐

