python主程序调用子程序_[python]请问频繁调用子程序如何改善性能?

大家好!有一个main.py和几千个sub_x.py文件,main.py会频繁调用这几千个sub_x.py文件并获得返回结果。

但是现在问题是调用子程序的次数太频繁,导致main.py运行起来非常慢。

查看了耗时的地方,主要是下面这几个地方消耗时间:

{built-in method builtins.exec}

subprocess.py:372(run)

{built-in method _codecs.utf_8_encode}

{built-in method _pickle.load}

subprocess.py:586(init)

subprocess.py:952(_execute_child)

{built-in method _winapi.CreateProcess}

请问有什么方法可以在调用子程序的时候节约时间吗?

main.py的内容如下:

cmdLst = ['sub_1','sub_2','sub_3','sub_4']#实际上是有几千个sub_x.py文件,这里只列出4个

for i in range(len(cmdLst)):

#创建命令行内容

commandLine = 'python ' + cmdLst[i] + '.py'

#执行命令

proc = subprocess.run(commandLine.split(),stdout = subprocess.PIPE, stderr = subprocess.PIPE)

#获取子程序返回的内容

stdResult = proc.stdout.decode()

sub_x.py的内容如下:

一系列操作,获得stdLine

输出stdLine

print(stdLine)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值