我用 python 编写了一个程序,它是 OSX 上解压缩文件的另一个前端。我希望能够双击该文件并使用我编写的程序打开。如何使程序自动知道它正在使用该文件打开并处理该文件?
3 回答
您需要使用以下命令使您的脚本可执行
chmod a+x <your script.py>
您还需要告诉您的操作系统需要 python 解释器来执行此文件。在 Linux
#!/usr/bin/env python
中,文件顶部的行是这样做的。我认为它在 OSX 中是一样的。然后右键单击并选择“打开方式”,然后选择“其他...”。并选择您的脚本。
需要正确配置 Python 脚本才能在操作系统以这种方式调用它时运行。
另一种方法(警告:我没有亲自尝试过)是使用超级用户论坛上此答案中建议的 shell 脚本。
OS X 上的 Python 脚本默认不会被 Finder 识别为可启动的应用程序。您需要做的是使用一个工具,将您的 Python 脚本打包为 Mac OS X 应用程序。然后,您可以右键单击或按住 ctrl 单击您选择的文件类型的文件,并通过“打开方式...”对话框找到该应用程序。
我知道这样做的一个选项是 MacPython 包的一部分,称为 py2app:
http://wiki.python.org/moin/MacPython/py2app
所以,你的步骤是:
1) 使用 py2app 将 Python 脚本打包为可启动的应用程序
2) 通过右键单击或按住 ctrl 单击该文件类型之一并在 OS X Finder 中选择“打开方式...”,将应用程序与您希望使用的文件类型相关联。
import sys
print("Program.py executing...")
for x in sys.argv:
print(x)
产生输出
Program.py executing...
Program.py
something.tar
我是windows,运行这个命令:
python Program.py something.tar
我认为从该命令到 OSX 没有任何变化。
正如本杰明所说,操作系统负责确定文件使用什么程序。我不知道你的操作系统的命令行是什么,但你可以通过上面的程序找到。