我創建了一個 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 應用程式的運行外殼腳本動作(#!/usr/bin/python
即“外殼”)。當您選擇傳遞輸入時作為參數,它們將在 中提供argv
,請參閱範例程式碼: