Sublime Text 广泛用于代码编辑,但它缺乏通过 raw_input() 等函数处理用户输入的原生能力在Python中。对于那些依赖脚本中的输入的人来说,此限制可能会令人沮丧。
一种解决方案是通过 Package Control 安装 SublimeREPL 包。该包允许您将代码片段发送到正在运行的 REPL(读取-评估-打印循环),从而有效地启用输入处理。但是,它可能需要手动调整构建文件以确保兼容性。
如果 SublimeREPL 不能满足您的需求,您可以创建自己的自定义构建允许输入的系统。操作方法如下:
{ "cmd": ["start", "cmd", "/k", "c:/python38/python.exe", "$file"], "selector": "source.python", "shell": true, "working_dir": "$file_dir", "env": {"PYTHONIOENCODING": "utf-8"} }
{ "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"} }
{ "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"} }
将这些构建系统保存为 Sublime Text Packages/User 目录中的 .sublime-build 文件。
另一个选择是使用 Terminus 插件。它为默认构建系统引擎提供了独立于平台的替代。借助 Terminus,您可以在代码下方的构建面板中与正在运行的程序进行交互。以下是 Python 的示例构建系统:
{ "target": "terminus_exec", "cancel": "terminus_cancel_build", "cmd": [ "/path/to/python", "-u", "$file" ], "working_dir": "$file_path", "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)&\"", }
记住调整 Python 可执行文件的路径。
通过采用这些解决方案,您可以克服 Sublime Text 的输入处理限制并增强您的脚本构建经验。
以上是如何在 Python 脚本的 Sublime Text 中处理用户输入?的详细内容。更多信息请关注PHP中文网其他相关文章!