Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
子进程-OSError[Errno 13]-尽管权限似乎还可以-Python 2.7/OSX_Python_Macos_Python 2.7_Subprocess - Fatal编程技术网

子进程-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
。请注意,有些程序名中有空格,这反映在目录名和可执行文件名中。太好了!!非常感谢你!谢谢你的简单版本。