Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Python 2中的通用换行符读取UTF-8文件_Python_Encoding_Utf 8_Line Breaks - Fatal编程技术网

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

用Python 2中的通用换行符读取UTF-8文件,python,encoding,utf-8,line-breaks,Python,Encoding,Utf 8,Line Breaks,我以前使用os.open()读取和写入文本文件。现在我改为使用codecs.open(),因为我想要UTF-8支持。这很好,但此方法在Windows中返回了不同的结果,因为源文件使用了\r\n换行符。在我看来,codecs.open()通用换行符不可用 我对这个问题的理解是,os.open()和codecs.open()具有相互排斥的特性os.open()具有良好的功能(在读取的情况下,这意味着它可以替代任何形式的换行符,而codecs.open()提供UTF-8支持 我的目标是将UTF-8编码

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

我对这个问题的理解是,
os.open()
codecs.open()
具有相互排斥的特性<文本模式下的code>os.open()具有良好的功能(在读取的情况下,这意味着它可以替代任何形式的换行符,而
codecs.open()
提供UTF-8支持

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

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

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

用法与编解码器相同。open()

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

问题与此问题非常相似。
my_file = io.open("myfile.txt", "w", encoding="utf-8")