Komodo IDE 7.0.2 Debug UTF-8 Python 文档的Bug

        Komodo IDE 7.0.2 调试UTF-8 Python 文档时,会抛出如下异常:

Traceback (most recent call last):
  File "C:\Program Files\ActiveState Komodo IDE 7\lib\support\dbgp\python3lib\dbgp\client.py", line 2260, in runMain
    self.dbg.runfile(debug_args[0], debug_args)
  File "C:\Program Files\ActiveState Komodo IDE 7\lib\support\dbgp\python3lib\dbgp\client.py", line 1847, in runfile
    h_execfile(file, args, module=main, tracer=self)
  File "C:\Program Files\ActiveState Komodo IDE 7\lib\support\dbgp\python3lib\dbgp\client.py", line 661, in __init__
    contents = fd.read()
UnicodeDecodeError: 'gbk' codec can't decode bytes in position 2-3: illegal multibyte sequence
        显然是字符编码问题,找到报错的文件client.py,第 661 行,再看看上下几行,如下:

        try:
            exec("import site\n\n", globals, locals)
            del globals['site']
            if _is_py3:
                globals['__file__'] = file
                encoding = self._get_file_encoding(file)
                fd = open(file)
                try:
                    contents = fd.read()
                finally:
                    fd.close()
         这里的open默认把文件当作ASCII来处理,这里需要加上文档本身的编码格式,可以看到这里已经获取到文件的encoding,那么把 “fd = open(file)”  改成 “fd = open(file, encoding=encoding)” 即可解决问题。修改后保存再调试就OK。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值