慕仰8121524
老铁, 和subprocess没啥关系, 其实是一个bytes类转换为str的编码问题你试试:>>> print(output.decode('gbk'))默认服务器: dns.xxx.xxx.cn
Address: xxx.xxx.xxx.xxx> > 服务器: dns.xxx.xxx.cnAddress: xxx.xxx.xxx.xxx
python.org MX preference = xx, mail exchanger = mail.python.org
python.org nameserver = nsx.pxx.dynect.net
python.org nameserver = nsx.pxx.dynect.net
python.org nameserver = nsx.pxx.dynect.net
python.org nameserver = nsx.pxx.dynect.net>这个字符串里面有中文而此句output, err = p.communicate(b'set q=mx\npython.org\nexit\n')中, output的编码是GBK所以不能用utf-8来解码这个其实是gbk编码和utf-8编码产生了冲突的问题虽说都支持中文, 但是给中文编码的顺序不同, 我举个例子吧:>>> '我'.encode()
b'\xe6\x88\x91'>>> '我'.encode('gbk')
b'\xce\xd2'可以参考这位大佬的文章:https://www.cnblogs.com/gavin...祝你好运!