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 응용 프로그램 번들은 명령줄 인수로 열 파일을 받지 않습니다. 모든 애플리케이션에는 일반적으로 단일 인스턴스만 있으므로 추가 파일을 여는 것이 제한됩니다. 대신 애플리케이션이 이미 실행 중일 때 전송되는 메시지입니다. 수신되는 인수는 프로세스 일련 번호입니다.자세한 내용은 여기를 참조하세요.


또는 Automator 애플리케이션에서 Python 스크립트를 래핑할 수도 있습니다.쉘 스크립트 실행작업( #!/usr/bin/python"쉘"임). 입력 전달을 선택하는 경우인수로, 에서 사용할 수 있습니다. argv샘플 코드를 참조하세요.

스크린샷

관련 정보