[英]How do I save subprocess stderr to variable?
我正在使用以下代碼來運行子進程。 命令“cmd”有時可能會失敗,我希望將 stderr output 保存到變量中以供進一步檢查。
def exec_subprocess(cmd)
with open('f.txt', 'w') as f:
p = Popen(cmd, stderr=f)
p.wait()
現在你可以看到我正在將 stderr 保存到文件中。 然后,我稍后使用 readlines() 將文件內容保存到列表中,這似乎效率低下。 我想要的是:
def exec_subprocess(cmd)
err = []
p = Popen(cmd, stderr=err)
p.wait()
return err
如何有效地將 stderr 保存到列表中?
你應該使用:
p=Popen(cmd, stdout = subprocess.PIPE, stderr = subprocess.PIPE)
outs, errs = p.communicate()
如果要將 stderr 的 output 分配給變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.