<p>您应该查看<code>subprocess</code>模块。有一个<a href="http://docs.python.org/2/library/subprocess.html#subprocess.check_call" rel="nofollow">^{<cd2>}</a>方法用于查找退出代码(这是一种方法,还有其他方法)。如手册所述:</p>
<blockquote>
<p>Run command with arguments. Wait for command to complete. If the
return code was zero then return, otherwise raise CalledProcessError.
The CalledProcessError object will have the return code in the
returncode attribute</p>
</blockquote>
<p>例如:</p>
<pre><code>import subprocess
command=["ls", "-l"]
try:
exit_code=subprocess.check_call(command)
# Do something for successful execution here
print("Program run")
except subprocess.CalledProcessError as e:
print "Program exited with exit code", e.returncode
# Do something for error here
</code></pre>
<p>这还将包括输出,您可以重定向到某个文件或按如下方式取消:</p>
^{pr2}$
<p>下面是一个使用非零退出代码的调用示例:</p>
<pre><code>import subprocess
import os
command=["grep", "mystring", "/home/cwgem/testdir/test.txt"]
try:
exit_code=subprocess.check_call(command, stdout=open(os.devnull, "w"))
# Do something for successful execution here
print("Program run")
except subprocess.CalledProcessError as e:
print "Program exited with exit code", e.returncode
# Do something for error here
</code></pre>
<p>输出:</p>
<pre><code>$ python process_exitcode_test.py
Program exited with exit code 1
</code></pre>
<p>它被捕获为一个异常,您可以按照上面的方法处理。请注意,这不会处理诸如拒绝访问或找不到文件等异常。你需要自己处理。在</p>