首页 > 后端开发 > Python教程 > 在 Sublime Text 中运行外部程序时如何处理输入?

在 Sublime Text 中运行外部程序时如何处理输入?

Linda Hamilton
发布: 2024-12-14 10:51:11
原创
193 人浏览过

How to Handle Input When Running External Programs in Sublime Text?

如何在 Sublime Text 中为正在运行的程序启用输入

在 Sublime Text 中,没有内置的处理输入的机制(例如,通过使用外部程序的 Python 的 raw_input()) 等函数。但是,有几种解决方法可以促进输入功能。

用于实时输入的 SublimeREPL

SublimeREPL 是一个流行的 Sublime Text 插件,允许与正在运行的代码交互口译员。它提供将输入实时传递给正在运行的程序的功能。请按照以下步骤使用 SublimeREPL:

  1. 使用 Package Control 安装 SublimeREPL。
  2. 配置 Main.sublime-menu 文件以确保您的首选解释器正确运行。
  3. 按 Ctrl Enter 打开 REPL 面板并与

用于独立交互的自定义​​构建系统

如果 SublimeREPL 不能满足您的需求,创建自定义构建系统可以让您独立运行您的程序,并且处理输入。

Windows 构建系统:

{
    "cmd": ["start", "cmd", "/k", "path/to/python.exe", "$file"],
    "selector": "source.python",
    "shell": true,
    "working_dir": "$file_dir",
    "env": {"PYTHONIOENCODING": "utf-8"}
}
登录后复制

将“path/to/python.exe”替换为 Python 可执行文件的路径。按 Ctrl B 在新的 cmd 窗口中构建并运行您的程序。

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"}
}
登录后复制

指定您的 Python 可执行文件(如果它不在您的 $ 上)小路。运行构建系统会在终端窗口中打开程序。

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"}
}
登录后复制

程序运行完毕后按任意键关闭终端窗口.

增强型终端插件交互

Terminus 是一个多功能插件,为管理输入提供了全面的解决方案。它提供了一个图形界面,用于通过构建面板与正在运行的程序进行交互,从而无需自定义构建系统。使用 Package Control 安装 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 以利用其高级功能。

通过实施这些解决方法,您可以有效地使用输入,同时在 Sublime Text 中运行外部程序,实现更全面的编码体验。

以上是在 Sublime Text 中运行外部程序时如何处理输入?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板