python 利用subprocess调用cmd命令程序,并正确输出控制台的输出中文

平台Python3.7

1.利用控制台运行程序后在控制台会输出中文提示,但是用python调用subprocess.run函数后返回的输出是乱码,于是,解决方法是用subprocess.check_output(),该函数返回子进程向标准输出的输出结果

程序如下:

f=subprocess.check_out(['XX','XX', 'XX'],shell=True,)
t=f.decode(encoding='gbk')
print(t)

输入参数是在控制台的变量用‘’引起来,然后逗号隔开,有几个写几个; 如  ls -l就是

f=subprocess.check_out(['ls','-l'],shell=True,)

subprocess.check_output()输出的是二进制码,直接解码成原编码格式就可以了(这里的原编码格式是gbk)

 

至于为什么这么转码,详见另一篇关于python2和python3的encode和decode函数

转载于:https://www.cnblogs.com/mghhzAnne/p/10346130.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值