加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

通过子进程或另一种方法调用Python速度命令行

发布时间:2020-12-20 11:30:16 所属栏目:Python 来源:网络整理
导读:使用subprocess.call方法在 Python中有更高效或更快的效果吗?我注意到一年前有一个关于这个问题的问题( Python subprocess module much slower than commands (deprecated)),除非由于Python删除了替代方案而导致折旧,所以我想看看这是否是现在唯一的,从而最
使用subprocess.call方法在 Python中有更高效或更快的效果吗?我注意到一年前有一个关于这个问题的问题( Python subprocess module much slower than commands (deprecated)),除非由于Python删除了替代方案而导致折旧,所以我想看看这是否是现在唯一的,从而最快的方式从shell调用命令在Python中.具体来说,我正在运行以下命令:

subprocess.call(“foo”,shell=True)

或者我应该使用操作系统?

谢谢.

解决方法

可能不是.您可能能够稍微加快调用速度,但根据我的经验,最大的好处是只启动子进程一次然后保持活动状态.

创建新进程是一项非常昂贵的操作,Python无法真正降低成本.

因此,不是调用/ bin / ls路径… 100次,而是创建一个外部进程,从stdin读取路径并返回所需的输出而不退出.

作为一个(悲伤的)例子:在ca. 1997年,我通过编写一个保持VM活动的包装器使Java 1编译器快1000倍,并在通过套接字接收选项后开始编译.这主要不是因为进程创建时间,而是因为在那个时间和之前启动Java VM需要很长时间.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读