栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

切换至Python 3导致UnicodeDecodeError

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

切换至Python 3导致UnicodeDecodeError

Python 3在读取时 解码 文本文件,在写入时 编码
。默认编码取自

locale.getpreferredencoding(False)
,显然可以返回设置
'ASCII'
。参见
open()
函数文档:

在文本模式下,如果 编码
未指定使用的编码是与平台相关的:

locale.getpreferredencoding(False)
被称为获取当前的本地编码。

不应依赖系统设置,而应使用显式编解码器打开文本文件:

currentFile = open(filename, 'rt', encoding='latin1')

在此处设置

encoding
参数以匹配要读取的文件。

Python 3支持UTF-8作为默认的 源代码

写入可写文本文件也是如此。写入的数据将被编码,并且如果您依靠系统编码,则

UnipreEncodingError
除非您明确设置了合适的编解码器,否则很可能会获得异常。编写时使用哪种编解码器取决于您编写的是什么文本以及以后打算如何处理文件。

您可能想阅读Unipre HOWTO中的Python
3和Unipre ,它解释了源代码的编码以及读写Unipre数据。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/637688.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号