首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python语言中open和codecs.open的区别

Python语言中open和codecs.open的区别
EN

Stack Overflow用户
提问于 2011-03-10 02:56:27
回答 7查看 80.6K关注 0票数 115

在Python中打开文本文件有两种方法:

代码语言:javascript
复制
f = open(filename)

代码语言:javascript
复制
import codecs
f = codecs.open(filename, encoding="utf-8")

什么情况下codecs.openopen更可取

EN

Stack Overflow用户

发布于 2012-11-02 00:14:34

就我个人而言,除非明确需要使用open**,否则我总是使用codecs.open。原因是有太多次我被utf-8输入偷偷地放入我的程序中。“哦,我只知道它永远是ascii”,这是一个经常被打破的假设。

根据我的经验,假设'utf-8‘作为默认编码往往是一个更安全的默认选择,因为ASCII可以被视为UTF-8,但反之亦然。在这些情况下,当我确实知道输入是ASCII码时,我仍然会使用codecs.open,因为我是"explicit is better than implicit"的坚定支持者。

** -在Python2.x中,正如Python3中的问题注释所述,open取代了codecs.open

票数 21
EN
查看全部 7 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5250744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档