【问题标题】:how to catch the sys.exit value in one program from other program in python如何从python中的其他程序中捕获一个程序中的sys.exit值
【发布时间】:2014-03-01 00:31:37
【问题描述】:

我有一个 python 文件 a.py。我正在使用 sys.exit(some_val) 从文件中返回。

现在,我还有一个文件 b.py,我正在从中执行 a.py,如下所示:

proc = subprocess.Popen(cmd, stdout = subprocess.PIPE, stderr = subprocess.PIPE, shell = True)
output, error = proc.communicate()

能否告诉我是否有任何方法可以从 b.py 获取值(使用 a.py 中的 sys.exit() 返回)?

【问题讨论】:

    标签: python subprocess exit-code


    【解决方案1】:

    使用proc.returncode:

    print "a.py exited with code {0}".format(proc.returncode)
    

    【讨论】:

      【解决方案2】:

      你可以从proc.returncode得到返回码,但是通过子进程从另一个python程序调用一个python程序似乎是一件很奇怪的事情......

      【讨论】:

      • 是的。但是有大约 100 个测试用例文件。我没有手动运行每个脚本,而是编写了一个脚本,它将一个一个地运行所有存在的测试用例。为此,我使用了子流程。
      • @kadina:您可以使用nosepy.testunittest 来发现和运行测试。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-10
      • 2020-03-10
      相关资源
      最近更新 更多