为了账号安全,请及时绑定邮箱和手机立即绑定

python subprocess decode报错?

python subprocess decode报错?

30秒到达战场 2019-02-16 22:33:36
python小白,在看廖雪峰python subprocess教程的时候碰到下面一个执行 nslookup 命令的报错 操作系统:win10 python版本:3.7 import subprocess print('$ nslookup') p = subprocess.Popen(['nslookup'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) output, err = p.communicate(b'set q=mx\npython.org\nexit\n') print(output.decode('utf-8')) print('Exit code:', p.returncode) 报错信息: $ nslookup Traceback (most recent call last): File "E:/py/learning-python/Process_Thread/multi_process/sub_process.py", line 14, in <module> print(output.decode('utf-8')) UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc8 in position 2: invalid continuation byte Process finished with exit code 1 请问造成这个错误的原因是什么?如何解决谢谢。
查看完整描述

2 回答

?
12345678_0001

TA贡献1802条经验 获得超5个赞

decode默认使用strict模式,第二个参数改成 ignore的话可正常解码,具体原因不知道是什么.

print(output.decode('utf-8','ignore'))
查看完整回答
反对 回复 2019-03-01
  • 2 回答
  • 0 关注
  • 569 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信