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

Posted mghhz816

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)

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

 

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

以上是关于python 利用subprocess调用cmd命令程序,并正确输出控制台的输出中文的主要内容,如果未能解决你的问题,请参考以下文章

如何在Python中调用Windows的cmd命令?

Python调用外部程序——os.system()和subprocess.call()

python subprocess.Popen

Python 3 利用 subprocess 实现管道( pipe )交互操作读/写通信

socket实现在python中调用操作系统的命令(subprocess)

如何在 python 中杀死使用 subprocess.call 调用的子进程? [复制]