subprocess

https://www.runoob.com/w3cnote/python3-subprocess.html

# coding=utf-8
import subprocess
def test():
    child=subprocess.Popen('docker push 10.10.87.56:445/cid/mcc_1:7960-1.0.0',shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
    child.wait()
    print 'poll:{}'.format(child.poll())
    print 'retruncode:{}'.format(child.returncode)
    if child.returncode:  #判断进程是否正常执行完毕,正常时为Noe,异常为1

        #child.communicate()[1](是一个元组)  和子进程交互,发送和读取数据,此处用来获取子进程的异常数据
        # print 'comm:{}'.format(child.communicate()[1]) print不住事 下面再次引用child.communicate()[1](是一个元组)会报错,貌似是因为引用一次之后文件就会关闭
        return child.returncode,child.communicate()[1]
    else:
        return child.returncode,child.communicate()[1]
code,msg=test()
print 'code:%s' %code
print 'msg:%s' %msg
原文地址:https://www.cnblogs.com/Hale-wang/p/13225878.html