您的位置:首页 > 编程语言 > Python开发

Python关于换行符的一点资料

2017-03-30 12:54 204 查看
今天写一个Python脚本去读取一个txt文件时,发现一个很有趣的现象:

如果这个文件是用atom编辑器写的,发现换行符是’\r’。这样一来去逐行读取数据就失效了,因为用open函数 去打开该文件readline()时默认使用的换行符是’\n’。

但是,当这个txt文件是用pycharm编辑器写的话,其换行符就是’\n’了。一切正常。

查找资料发现,在打字机时代就有了这几个符号的设计,其实’\r’的本意是回到行首,’\n’的本意是换行。所以回车相当于做的是’\r\n’或者’\n\r’。到了计算机时代沿用了这个符号设计,但是估计是换行并回行首是一体的了基本上,所以出现了这几种设计:’\r’就是换行并回行首,’\n’就是换行并回行首,用’\r\n’表示换行并回行首。(Windows是’\r\n’,Linux是’\n’)

我使用的是python2.7,知乎上(感谢 龚奇源 博士)找到一种方法:

如果需要明文内容,请用rU来读取(强烈推荐),即U通用换行模式(Universal new line mode)。该模式会把所有的换行符(\r \n \r\n)替换为\n。只支持读入,但是也足够了。这是Python 提供给我们的最好的选择,没有之一。

open函数加上参数’rU’后,读取结果跟txt文件表现就一致了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python