今天在学习python多线程的时候遇到了一个问题
import subprocess print('$ nslookup www.baidu.com') r = subprocess.call(['nslookup', 'www.baidu.com']) print('Exit code:', r)
"$ nslookup www.baidu.com"语句相当于在cmd中输入:nslookup www.baidu.com命令
然而得到的结果是乱码的:
$ nslookup www.baidu.com
��Ȩ��Ӧ��:
������: UnKnown
Address: 172.20.10.1
����: www.a.shifen.com
Addresses: 180.97.33.108
180.97.33.107
Aliases: www.baidu.com
Exit code: 0
在文件开头加了 # -*- coding:utf-8 -*- 也没用
后来查了百度,了解到cmd默认编码是GBK,而Pycharm默认编码是UTF-8...
那我把Pycharm编码改成GBK应该ok的,操作如下:
重新运行后就正常了:
$ nslookup www.baidu.com
非权威应答:
服务器: UnKnown (PS:这里UnKnown是因为我现在用的手机WIFI- -)
Address: 172.20.10.1
名称: www.a.shifen.com
Addresses: 180.97.33.108
180.97.33.107
Aliases: www.baidu.com
Exit code: 0