Python调用C可执行程序(subprocess)

Python的subprocess模块从2.4版本开始引入,用于管理子进程,替代了旧的os和popen系列方法。它可以创建子进程并与输入/输出/错误管道进行交互。subprocess模块提供了call、check_call和check_output等函数,用于等待子进程完成并处理返回信息。例如,调用C可执行程序并捕获输出,可以使用subprocess.check_output函数。在处理过程中,如果返回码非0,会抛出subprocess.CalledProcessError异常,该异常包含了returncode和output属性。
摘要由CSDN通过智能技术生成

从Python 2.4开始,Python引入subprocess模块来管理子进程,以取代一些旧模块的方法:如
os.system、os.spawn、os.popen、popen2、commands.
不但可以调用外部的命令作为子进程,而且可以连接到子进程的input/output/error管道,获取相关的返回信息。

subprocess包中定义有数个创建子进程的函数,这些函数分别以不同的方式创建子进程,所以我们可以根据需要来从中选取一个使用。另外subprocess还提供了一些管理标准流(standard stream)和管道(pipe)的工具,从而在进程间使用文本通信。
subprocess.call()

subprocess.call(args, *, stdin=None, stdout=None, stderr=None, shell=False)

父进程等待子进程完成
返回退出信息(returncode,相当于Linux exit code)
subprocess.check_call()

subprocess.check_call(args, *, stdin=None, stdout=None, stderr=None, shell=False)

父进程等待子进程完成
返回0
检查退出信息,如果returncode不为0,则举出错误subprocess.CalledProcessError,该对象包含有returncode属性,可用try…except…来检查
subprocess.check_output()

subprocess.ch

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值