我已经创建了一个可以打开我的文件扩展名的 Mac 应用程序。
但是当我测试它时,我没有得到使用该应用程序请求打开的文件的路径,而是得到了“psn_0_151589”。
我检查了 itunes、textedit、xcode 和其他应用程序。
下面是我的 Python 应用程序示例主代码,其中我处理打开文件的路径
import sys
import os.path
print("File opened with this app :: ",sys.argv[1])
if(os.path.exists(sys.argv[1]):
print("valid file :: { do something...}\n")
else:
print("Invalid file path received :: { do nothing }\n")
输出 :
File opened with this app :: psn_0_151589
Invalid file path received :: { do nothing }
希望有人知道如何获取使用任何应用程序打开的文件路径。
任何帮助将不胜感激。
答案1
Mac OS X 应用程序包不会将要打开的文件作为命令行参数接收。由于每个应用程序通常只有一个实例,因此这会限制打开更多文件。相反,它是在应用程序已运行时发送的消息。您收到的参数是进程序列号。更多信息请点击此处。
您也可以将 Python 脚本包装在 Automator 应用程序的运行 Shell 脚本动作(#!/usr/bin/python
即“shell”)。当您选择传递输入时作为参数,它们将在 中提供argv
,请参阅示例代码: