python subprocess popen stdout 输出的内容乱码
时间: 2023-08-04 07:05:48 浏览: 205
python中的subprocess.Popen()使用详解
可能是因为输出的内容包含了非ASCII字符,而默认情况下,stdout输出的编码是系统默认的编码,例如在Windows系统中,是gbk编码。
解决方法可以在Popen中指定stdout的编码方式,例如:
```python
import subprocess
p = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, encoding='utf-8')
out, err = p.communicate()
```
这样就可以将输出的内容编码为utf-8,避免乱码问题。
阅读全文