打开文件,并从Python程序中打开的文件中获取输入

时间:2013-09-01 03:01:12

标签: python macos

我在python中编写了一个程序,它是OSX上无目标文件的另一个前端。我希望能够双击该文件并使用我编写的程序打开。如何使程序自动知道它正在使用该文件打开,并处理该文件?

3 个答案:

答案 0 :(得分:0)

  • 您需要使用命令chmod a+x <your script.py>

  • 使您的脚本可执行
  • 您还需要告诉您的操作系统执行此文件需要python解释器。在Linux中,文件顶部的行#!/usr/bin/env python就是这样做的。我在OSX中假设它是一样的。

  • 然后右键单击并选择“打开方式”,然后选择“其他...”。并选择您的脚本。

当操作系统以这种方式调用Python脚本时,需要正确配置Python脚本。

另一种方法(警告:我没有亲自尝试过这种方法)是在超级用户论坛的this anwer中使用shell脚本。

答案 1 :(得分:0)

默认情况下,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中选择“打开方式...”,将应用程序与您要打开的文件类型相关联。

答案 2 :(得分:-3)

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没有任何变化。

正如本杰明所说,操作系统负责确定用于文件的程序。我不知道你的操作系统的命令行是什么,但是你可以找到上面的程序。