Bet*_*mos 3 python encoding utf-8 line-breaks
我以前用来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")
Run Code Online (Sandbox Code Playgroud)
文本模式和通用换行符是默认选项.
| 归档时间: |
|
| 查看次数: |
973 次 |
| 最近记录: |