Python子进程调用

2024-10-01 17:33:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我在通过python运行文件时遇到了一个问题。 这是我的代码:

def report1(self):
   str="/Users/Apple/Desktop/Report1.exe"
   subprocess.call(str)


This is the error i am getting : 
File "./DBMS.py", line 427, in <module>
Main().run();
File "./DBMS.py", line 415, in run
self.report1()
File "./DBMS.py", line 383, in report1
subprocess.call(str)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py",      line 524, in call
return Popen(*popenargs, **kwargs).wait()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 711, in __init__
errread, errwrite)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1308, in _execute_child
raise child_exception

OSError:[Errno 13]权限被拒绝

我尝试使用权限更改文件夹子项目。波彭. 我还试着添加shell=True。我不明白为什么它还不起作用。在

任何帮助都是非常感谢的。 必须在24小时内提交:


Tags: inpyliblinelibraryframeworkcallversions
2条回答

尽管subprocess有很多优点,但它并不能很清楚地说明当尝试执行命令时发生了错误。在

{{{cd4}在另一个调用之前,{cd4}意味着在一个帧中发生了一个的错误。在

实际粘贴的异常是OSError: [Errno 13] Permission denied13errno对应于EACCES

>>> import errno; print errno.errorcode[13]
EACCES

如果您从未使用过fork(2)exec(2)的话,事情将变得非常难以捉摸,因为subprocess已经放弃了真正的回溯。但是,我可以告诉你这个OSError几乎肯定来自exec*调用。结果是execve在以下条件下引发了这个问题:

^{pr2}$

(由Apple提供)

如果我不得不猜测,您遇到了这个异常,因为您尝试运行的命令没有标记为可执行(带有类似chmod u+x)的内容。在

现在,解决这个问题后,.exe文件不太可能在Mac上运行,但至少它会是一个不同的错误!在

尝试以sudo运行程序:

水蟒霉菌素.py在

相关问题 更多 >

    热门问题