子进程-OSError[Errno 13]-尽管权限似乎还可以-Python 2.7/OSX
我不熟悉子流程 当我跑步时:子进程-OSError[Errno 13]-尽管权限似乎还可以-Python 2.7/OSX,python,macos,python-2.7,subprocess,Python,Macos,Python 2.7,Subprocess,我不熟悉子流程 当我跑步时: subprocess.Popen(['/Applications/Calculator.app']) 我明白了 当我检查Calculator.app的权限时,它们看起来很好(drwxr-xr-x)。上面写的是“轮子”,而不是“管理员”或“职员” 我在其他应用程序中也遇到了这个错误 另一方面,我可以做到: subprocess.call(['open', '/Applications/Calculator.app']) 很好 我错过了什么?我应该检查什么 谢谢 这
subprocess.Popen(['/Applications/Calculator.app'])
我明白了
当我检查Calculator.app的权限时,它们看起来很好(drwxr-xr-x)。上面写的是“轮子”,而不是“管理员”或“职员”
我在其他应用程序中也遇到了这个错误
另一方面,我可以做到:
subprocess.call(['open', '/Applications/Calculator.app'])
很好
我错过了什么?我应该检查什么
谢谢 这是因为MacOS X桌面应用程序实际上是目录。可执行文件被嵌入其中 这项工作:
subprocess.Popen(['/Applications/Calculator.app/Contents/MacOS/Calculator'])
下面是一个更简单的调用:
subprocess.Popen(['open', '-a', 'Calculator'])
-a
选项告诉open
计算器是一个应用程序。第一行代码和第二行代码之间的区别是什么?我是缺少了什么还是两个命令都相同?很抱歉输入错误!我编辑了它,谢谢你的回答!由于其他应用程序也会出现这种情况,如何找到可执行文件?@Diego几乎总是相同的模式:/Applications/SomeProgram.app/Contents/MacOS/SomeProgram
。请注意,有些程序名中有空格,这反映在目录名和可执行文件名中。太好了!!非常感谢你!谢谢你的简单版本。