如何使用 Mac 應用程式取得請求開啟哪個檔案?

如何使用 Mac 應用程式取得請求開啟哪個檔案?

我創建了一個 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,請參閱範例程式碼:

螢幕截圖

相關內容