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

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

完美解决pyserial报

        通过上网搜索资料得知,这是因为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”,然后重新打开命令行窗口,再运行上述的那条命令,就正常了:
完美解决pyserial报

你可能感兴趣的:(BLE)