python子进程:在python程序代码中调用另一段python程序代码文件(启动子进程)

python子进程:在一段Python程序(python代码段)中调用另一Python程序(python代码文件)

一. 闲言多说

在数据建模的生产部署阶段,有时候为了结果的实时性,我们需要实时调用模型文件进行结果输出。
这里假定一个业务场景:
某py代码片段的目标是进行房价预测,在代码片段中调用“模型预测.py”(作为子进程),根据输入参数由模型代码给出预测房价,当前代码片段获取模型预测输出,对其进行二次处理后生成json格式集返给下游处理环节。

二. 主要function

这里使用Python 标准库里的 subprocess.Popen() 类进行处理。
常用的 os.system、os.spawn*、os.popen*、popen2*、commands.*等模块均可由subprocess模块替代。

subprocess提供了一组启动子进程的方便的标准函数: subprocess.call()等

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

但是由于业务场景的复杂性,这种方便函数有时候不能很好的达到我们的目的,故而推荐使用: subprocess.Popen()

2.1 Popen

Popen class:在新的进程中执行子程序,它提供了比方便函数 subprocess.call()等更高的灵活性,方便覆盖更多的使用情景。

	subprocess.Popen(args, bufsize=0, executable=None, stdin=None, stdout=None, stderr=None,
						preexec_fn=None, close_fds=False
  • 3
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值