在Python 2中使用通用换行符读取UTF-8文件

贝塔莫斯

我以前曾经os.open()读取和写入文本文件。现在我更改为使用,codecs.open()因为我想要UTF-8支持。效果很好,但是此方法在Windows中返回了不同的结果,因为源文件使用\r\n换行符。在我看来,codecs.open()通用换行符不可用,因为它使用二进制模式

我对问题的理解是,os.open()并且codecs.open()每个都有互斥的功能。os.open()在文本模式下,它具有通用换行模式的出色功能(在阅读的情况下,它意味着可以替换任何形式的换行符\n),而codecs.open()提供了UTF-8支持。

我的目标是使用通用换行符将UTF-8编码的文件读取(最好写入)到Unicode字符串中。这意味着如果我读取两个具有不同换行符的文件,则结果字符串应相同。我想仅使用具有Python 2.6兼容性的核心库来执行此操作。如何以最优雅的方式做到这一点?

阿拉斯泰尔·麦考马克

io.open()是的交点os.open()codecs.open()

它提供了完整的通用换行符支持以及用于透明字符串解码/编码的TextWrapper模式。我认为它与Python 3的实现最相似open()

用法与codecs.open()

my_file = io.open("myfile.txt", "w", encoding="utf-8")

文本模式和通用换行符是默认选项。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章