我正在將一個Windows應用程序移植到OS X 10.6.8。這是一個新的平臺,我面臨一些困難。python subprocess:如何在OS X上運行應用程序?
該應用程序是一個小的網絡服務器(瓶+服務員),該啓動瀏覽器(基於鉻嵌入式框架)由於子進程調用。
瀏覽器是一個應用程序文件,並從GUI啓動時運行正常。
我推出這樣說:
subprocess.Popen([os.getcwd()+"/cef/cefclient.app", '--url=http://127.0.0.1:8100'])
不幸的是,這種失敗OSError: permission denied
。
我試圖用類似的結果運行具有sudo
腳本。
我可以從外殼使用以下命令啓動應用程序:
open -a "cef/cefclient.app" --args --url-http://127.0.0.1:8100
但
subprocess.Popen(['open', '-a', os.getcwd()+'/cef/cefclient.app', '--args', '--url-http://127.0.0.1:8100'])
失敗,出現以下錯誤
FSPathMakeRef(/Users/.../cefclient.app) failed with error -43.
不知道如何解決這個問題?
'os.getcwd()+'CEF/cefclient.app''看起來不正確的。對我而言,'getcwd()'不會添加尾部斜線。 'os.path.join(os.getcwd(),'cef/cefclient.app')''你可能有更好的運氣' – vicvicvic
你確定你需要-a打開後?我相信你只想要如果你試圖「打開」一個文件,並需要提供打開該文件的應用程序的名稱。 – zzzirk
getcwd後面的/缺少。無論如何,該命令仍然失敗 – luc