栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Python:运行os.system后如何获取stdout?[重复]

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python:运行os.system后如何获取stdout?[重复]

如果您只需要

stdout
输出,那么看看
subprocess.check_output()

import subprocessbatcmd="dir"result = subprocess.check_output(batcmd, shell=True)

因为您正在使用

os.system()
,所以您必须进行设置
shell=True
才能获得相同的行为。您确实要注意将不可信参数传递给您的Shell的安全问题。

如果还需要捕获

stderr
,只需将其添加
stderr=subprocess.STDOUT
到呼叫中:

result = subprocess.check_output([batcmd], stderr=subprocess.STDOUT)

将错误输出重定向到默认输出流。

如果您知道输出是文本,则添加

text=True
以使用平台默认编码对返回的字节值进行解码;使用
encoding="..."
而不是如果该编解码器是不适合你接收到的数据是正确的。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/626534.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号