如何配置Python脚本执行以在执行时打开输出窗口?

如何配置Python脚本执行以在执行时打开输出窗口?,python,linux,Python,Linux,我知道我可以在Linux上运行Python脚本 从终端通过./hello\u world.py 从文件管理器中单击该文件 。。。包括shebang并将文件标记为可执行文件后 但是,选项1要求我手动打开终端并键入文件名,选项2不会显示脚本的任何输出,例如打印语句和错误消息,因为不会打开任何输出窗口,脚本将在后台不可见地运行 如何在我的案例设置中配置脚本文件或Linux Kubuntu 20.04,以便从文件管理器启动一个*.py文件将自动在终端窗口中打开它,以便显示程序输出?您可以在终端应用程序启

我知道我可以在Linux上运行Python脚本

从终端通过./hello\u world.py

从文件管理器中单击该文件

。。。包括shebang并将文件标记为可执行文件后

但是,选项1要求我手动打开终端并键入文件名,选项2不会显示脚本的任何输出,例如打印语句和错误消息,因为不会打开任何输出窗口,脚本将在后台不可见地运行


如何在我的案例设置中配置脚本文件或Linux Kubuntu 20.04,以便从文件管理器启动一个*.py文件将自动在终端窗口中打开它,以便显示程序输出?

您可以在终端应用程序启动时创建简单的Bash包装脚本。 下面是QTerminal的示例

!/垃圾箱/垃圾箱 qterminal-e python3~/software/myscript.py Kubuntu的默认终端应用程序是Konsole。而且它还有-e选项:。 您还可以添加-noclose选项以防止自动关闭窗口。 因此,Bash包装器脚本如下所示:

!/垃圾箱/垃圾箱 konsole-noclose-e python3~/software/myscript.py
添加执行权限,双击此包装器脚本即可在终端窗口中运行Python脚本。

根据Aleksey的回答,我决定采用以下通用解决方案:

创建一个包含内容的文件,例如as/home/lemontree/run_python.sh

#!/bin/sh
konsole --noclose -e python3 $1
这是KDE的默认终端应用程序Konsole;如果您想使用不同的终端应用程序,则必须相应地调整命令和选项

制作此文件

将此包装器脚本注册为要打开的默认应用程序 *.py文件与。 在KDE中,这是在系统中 设置/应用程序/文件关联。搜索python, 在“应用程序首选项顺序”下,使用“添加”输入路径 到您的包装器脚本。确保脚本位于应用程序首选项顺序列表的顶部

请注意,单击python文件时,现在必须选择 打开而不是执行它。在文本编辑器中打开文件可以 仍然可以通过上下文菜单实现


现在,单击任何.py文件都将在终端窗口中执行它。

这不只是脚本运行后终端窗口闪烁打开和关闭的情况吗?也许在脚本中放置一个睡眠计时器以暂停,使您能够在终端窗口关闭之前读取输出。@S3DEV我也有过同样的想法,但我看不到任何窗口闪烁打开,在脚本开始和结束时都包括睡眠也没有帮助。有趣。我刚刚尝试过使用Mint,当我从文件管理器中单击运行.py文件时,系统会提示我选择“run in Terminal”(在终端中运行),它会打开一个终端并显示输出(如果实现了睡眠)和“run”(在后台运行)。TBH:我从不使用文件管理器,我的生活在终端。因此,我们将留给其他人回答。对不起,这是个好主意;不幸的是,这只会让控制台窗口闪烁一眨眼,然后再次关闭。有没有办法告诉脚本在执行之前保持控制台打开?konsole命令后的sleep语句不起作用。我可以在我的每个Python脚本中插入相应的sleep语句,但拥有一个通用解决方案会更加优雅和实用。我对通用性的想法是,可以将其抽象为一个文件名作为参数,然后可以注册为默认应用程序,以打开*.py文件,因此,包装器脚本将在任何python文件上自动工作,而不必为每个python文件分别手动设置。我刚刚尝试过这个方法,它成功了,除了再次关闭窗口的问题。@lemontree,添加-noclose选项以防止自动关闭窗口这个方法有效;非常感谢。我对你的答案投了赞成票,但我将以我的扩展作为最终解决方案。