如何在不从终端打开的情况下自动执行Python文件?

3 投票
6 回答
9957 浏览
提问于 2025-04-15 14:17

抱歉如果这个问题放错地方了(也许应该放在超级用户论坛),但我想让我的python.py文件变得可执行,这样我就可以直接点击它,它就会自动运行,而不需要我在终端里手动打开它。我已经用'chmod +x'命令设置了它的权限。

补充说明:

  • 我想通过点击来运行它,而不是通过终端(我说的“可以点击它并自动运行”就是这个意思)
  • 我已经添加了shebang行
  • 现在我点击它时,会弹出一个提示,问我是否要在文本文件或终端中打开它——我能不能让它总是默认在终端中打开,还是说这个要求有点奇怪?

6 个回答

1

http://supervisord.org 是一个更好的选择。

4

在你的Python文件的第一行,添加以下内容:

#!/usr/bin/env python

所以如果你有:

print "Hello World"

那么你应该得到:

#!/usr/bin/env python
print "Hello World"
3

首先,选择一个你想要的文件扩展名,这样文件就会有你想要的行为。比如,pyw可能是个不错的选择。

把你的文件命名为这个扩展名,然后在文件浏览器中把这种文件类型和Python关联起来。在GNOME系统中,你需要打开文件的属性窗口,找到“打开方式”选项卡,然后把Python输入为自定义命令。

现在,重要的来了:你之前看到的那个对话框,问你想怎么处理这个文件,是因为这个文件被标记为可执行的。你可以用命令chmod -x来去掉这个可执行的标记。这样,当你双击文件时,它就会直接用关联的程序打开。

当然,如果你想从命令行运行这个文件,你现在需要明确地用Python来启动它,因为它不再被标记为可执行了。shebang行(文件开头的那行)就不再重要了,不过我建议还是保留它,以防别人把它标记为可执行并期待它能正常工作。

撰写回答