在Windows中执行系统调用和获取字符串响应的最快方法

时间:2019-05-22 13:20:50

标签: python python-3.x performance system

对于应用程序,我需要执行系统调用并读取输出几次。从Python执行系统命令并以字符串形式读取输出的最快方法是什么?

这是一个演示代码:

import time
import os
import subprocess

cmd = 'ipconfig'

#Takes 4.85 seconds
t0 = time.time()
for i in range(0, 100):
    os.popen(cmd).read()
dt = time.time()-t0
print(dt)

#Takes 3 seconds
t0 = time.time()
for i in range(0, 100):
    subprocess.run(cmd, stdout=subprocess.PIPE).stdout.decode('utf-8')
dt = time.time()-t0
print(dt)

在我的计算机中,第一次呼叫大约需要4.85秒,而第二次呼叫需要3个时间。还有其他方法可以创建进程等,甚至可能更快。您可以通过哪种最快的方式执行系统调用并将输出作为字符串获取?

0 个答案:

没有答案