2014-11-30 2 views
0

Windows 및 Ubuntu Linux에서 잘 작동하지만 Mac에서는 문제가있는 Python 코드가 있습니다.Mac에서 파일 찾기 대화 상자

내 앱에서 사용자가 내 앱의 버튼을 누를 때마다 열어 놓은 애플리케이션을 선택할 수있는 기능을 제공합니다 (매번 검색하지 않아도 호출 할 수 있도록)

셋업 코드 (간체) 이렇게되면 :

self.app_opt = options = {} 
options['title'] = 'Please choose an app from your computer' 
options['initialdir'] = '~/' 
chosen_app = "~/" 
chosen_app = askopenfilename(parent = self.parent, **self.app_opt) 
self.chosen_app = chosen_app 

을 나중에, 버튼을 누를하고 버튼의 코드는 다음과 같습니다된다

subprocess.Popen(self.chosen_app) 

내가 말했듯이, Windows에서 잘 작동합니다 ("프로그램 파일"로 가서 실행 파일을 선택하면 모두 정상입니다), 버튼을 누르면 실행됩니다. 또한 Ubuntu에서 - (나는/usr/bin이라는 말을 선택한다.) 버튼을 누를 때 앱이 잘 돌아 간다.

Mac에서이 작업을 시도했습니다. 예를 들어 버튼을 누를 때 iTunes를 열려고합니다. 이제 iTunes를 실행하는 실제 앱은 예를 들어 다음과 같습니다.

/Applications/iTunes.app/Contents/MacOS/iTunes

하지만

보다 깊은

/Applications/iTunes.app를 선택할 수 없습니다 이 옵션을 사용하려면 파일 대화 상자에 넣어야 할 몇 가지 옵션/설정이 있습니까?

답변

0

친구 요청 후 (감사 DJ!) 내가 이것에 대해 내가

subprocess.Popen(self.chosen_app) 

하지만 뭔가 더

subprocess.Popen('open -a \"' + self.chosen_app + '\"') 
등을 호출하지 않아야 맥에서

잘못된 방향으로가는 것 같다

설명 된대로 here

작품입니다