在程序执行期间处理 Sublime Text 中的用户输入
无法将输入发送到 Sublime Text 中正在运行的 Python 程序?由于 Sublime Text 本身的限制,这是一个常见问题。它不支持处理来自 raw_input() 或 input() 等函数的输入。
解决方案:
1. SublimeREPL 插件:
安装 SublimeREPL 插件以通过正在运行的 REPL 传输或执行代码部分。配置 Main.sublime-menu 文件来设置您首选的解释器。
2.自定义构建系统:
为 Windows、macOS 或 Linux 创建自定义构建系统。对于 Windows:
{ "cmd": ["start", "cmd", "/k", "c:/python38/python.exe", "$file"], "selector": "source.python", "shell": true, "working_dir": "$file_dir", "env": {"PYTHONIOENCODING": "utf-8"} }
对于 macOS:
{ "shell_cmd": "osascript -e 'tell app \\"Terminal\\" to do script \\"cd $file_path &\& python3 -u $file\\"'"", "working_dir": "$file_path", "selector": "source.python", "env": {"PYTHONIOENCODING": "utf-8"} }
对于 Linux:
{ "shell_cmd": "gnome-terminal --working-directory=$file_path -- bash -c 'python3 -u \\"$file\\" &\& read -n 1 -s -r'"", "working_dir": "$file_path", "selector": "source.python", "env": {"PYTHONIOENCODING": "utf-8"} }
3. Terminus 插件(推荐):
安装 Terminus 插件并创建以下构建系统:
{ "target": "terminus_exec", "cancel": "terminus_cancel_build", "cmd": [ "/path/to/python", "-u", "$file" ], "working_dir": "$file_path", "file_regex": "^[ ]*File \\"(...*?)\\", line ([0-9]*)"" }
Terminus 提供了一种在下面的构建面板中与程序交互的便捷方式你的代码。
以上是运行 Python 程序时如何处理 Sublime Text 中的用户输入?的详细内容。更多信息请关注PHP中文网其他相关文章!