'utf-8' codec can't decode byte 0xb6 in position 43: invalid start byte"解决方法

显然,这是编码问题,通常会出现在windows上,主要是本机编码不是utf-8导致的。

使用python查看本机的编码如下

>>> import locale
>>> locale.getdefaultlocale()
('zh_CN', 'cp936')

cp936就是gbk的意思

所以我们在开启进程的时候,如果可以的话,记得设置encoding参数

如果是对输出结果二进制进行解析的话,也记得解码格式与本机格式相同。

示例代码如下:

subprocess.check_output(cmd).decode(encoding="utf-8")
发布了63 篇原创文章 · 获赞 18 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/liuxiang15/article/details/103597362