IPython没有设置系统状态

时间:2014-11-12 19:26:38

标签: python ipython popen

我使用子进程模块(Popen)使用IPython运行脚本,并且它似乎没有为进程正确设置系统状态。

#(script run_test.py)

import subprocess as proc

command = "ipython test.py"

p = proc.Popen( command, shell=True, cwd=None, stdout=proc.PIPE,
                stderr=proc.STDOUT )
( stdOut, stdErr ) = p.communicate()

print p.returncode

if p.returncode:
   raise Exception( stdOut )

在这个例子中," test.py"只是一个简单的脚本(仅raise Exception())。当我从命令行(Redhat Enterprise 5.11)运行此脚本时,我得到:

> python run_test.py
0

现在,如果我在" run_test.py"中更改我的命令使用python(而不是IPython),我得到:

(using command = "python test.py")
> python run_test.py
1
Traceback (most recent call last):
  File "run_test.py", line 12, in <module>
    raise Exception( stdOut )
Exception: Traceback (most recent call last):
  File "test.py", line 2, in <module>
    raise Exception()
Exception

有关如何让ipython正确设置系统错误代码的任何提示吗?

0 个答案:

没有答案