如何在不从终端打开的情况下自动执行Python文件?
抱歉如果这个问题放错地方了(也许应该放在超级用户论坛),但我想让我的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行(文件开头的那行)就不再重要了,不过我建议还是保留它,以防别人把它标记为可执行并期待它能正常工作。