Wie finde ich heraus, welche Datei mit einer Mac-Anwendung geöffnet werden soll?

Wie finde ich heraus, welche Datei mit einer Mac-Anwendung geöffnet werden soll?

Ich habe eine Mac-Anwendung erstellt, die meine Dateierweiterungen öffnen kann.

Beim Testen wurde mir jedoch nicht der Pfad der Datei angezeigt, die ich mit der Anwendung öffnen wollte, sondern stattdessen „psn_0_151589“.

Ich habe es für iTunes, Textedit, Xcode und andere Anwendungen überprüft.

Unten ist mein Python-App-Beispiel-Hauptcode, in dem ich den Pfad der geöffneten Datei verarbeite

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") 

AUSGABE :

File opened with this app :: psn_0_151589
Invalid file path received :: { do nothing }

Ich hoffe, jemand weiß, wie man den Dateipfad erhält, der mit einer beliebigen Anwendung geöffnet wurde.

Für jede Hilfe wäre ich sehr dankbar.

Antwort1

Mac OS X-Anwendungspakete erhalten die zu öffnenden Dateien nicht als Befehlszeilenargumente. Da jede Anwendung normalerweise nur eine einzige Instanz hat, würde dies das Öffnen weiterer Dateien einschränken. Stattdessen wird eine Nachricht gesendet, wenn die Anwendung bereits ausgeführt wird. Das Argument, das Sie erhalten, ist die Prozessseriennummer.Mehr Informationen hier.


Alternativ können Sie Ihr Python-Skript auch in dieShell-Skript ausführenAktion ( #!/usr/bin/pythondie "Shell"). Wenn Sie die Eingabe übergeben möchtenals Argumente, sie werden in verfügbar gemacht argv, siehe Beispielcode:

Bildschirmfoto

verwandte Informationen