gpt4 book ai didi

python - 在 Python 2 中读取带有通用换行符的 UTF-8 文件

转载 作者:太空宇宙 更新时间:2023-11-03 14:13:54 26 4
gpt4 key购买 nike

我以前使用os.open() 来读写文本文件。现在我改为使用 codecs.open() 因为我想要 UTF-8 支持。这很有效,但此方法在 Windows 中返回了不同的结果,因为源文件使用了 \r\n 换行符。在我看来,codecs.open() 通用换行符不可用 because it uses binary mode .

我对这个问题的理解是 os.open()codecs.open() 具有互斥的特性。文本模式下的 os.open() 具有 universal newline mode 的优点(在阅读的情况下,这意味着它将任何形式的换行符替换为 \n),而 codecs.open() 提供 UTF-8 支持。

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

最佳答案

io.open()os.open()codecs.open() 的交集>.

它提供完整的通用换行支持和用于透明字符串解码/编码的 TextWrapper 模式。我相信它与 open()

的 Python 3 实现最相似

用法同codecs.open():

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

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

关于python - 在 Python 2 中读取带有通用换行符的 UTF-8 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35052346/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com