运行批处理文件的返回值

时间:2017-03-02 12:21:53

标签: python-3.x subprocess output

我的目标是运行一个文件,返回其状态(如果成功则返回0)并返回其输出。我使用os模块来获得运行模拟的状态。

status= os.system("file") 

我正在使用子进程模块来获取输出。

output=subprocess.check_output("file")

我的问题:是否有任何功能可以让我同时拥有状态和输出而无需运行我的文件两次?

1 个答案:

答案 0 :(得分:1)

check_output已经完成了您需要的一切。来自文档:

  

subprocess.check_output(args,*,stdin = None,stderr = None,shell = False,   universal_newlines = False)运行带参数的命令并返回它   输出为字节串。

     

如果返回代码非零,则会引发CalledProcessError。该   CalledProcessError对象将在返回码中包含返回码   属性和输出属性中的任何输出

所以,如果一切正常,它只会返回输出。否则,会出现一个异常,其中存在确切的返回代码以及部分输出直到被调用进程的错误。