完美解决pyserial报"UnicodeEncoudeError"的问题

        通过Python调用电脑的串口,在pyserial已经正确安装的情况下,通过“python -m serial.tools.list_ports -v”命令列出电脑所有的串口,结果显示如下:

        通过上网搜索资料得知,这是因为Python默认调用ASCII编码解码程序去处理字符流,当字符流不属于ASCII范围内时,就会抛出异常(ordinal not in range(128))。解决方法如下:

找到Python安装目录下的“\Python27\Lib”这个路径,找到“site.py”这个文件。用文本编辑器打开他,找到如下的一行:

    if 0:
        # Enable to support locale aware default string encodings.
        import locale
        loc = locale.getdefaultlocale()
        if loc[1]:
            encoding = loc[1]

把这里的“if 0”改成“if 1”,然后重新打开命令行窗口,再运行上述的那条命令,就正常了:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值