对于应用程序,我需要执行系统调用并读取输出几次。从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个时间。还有其他方法可以创建进程等,甚至可能更快。您可以通过哪种最快的方式执行系统调用并将输出作为字符串获取?