python遇到的换行符问题

今天写一个Python脚本去读取一个txt文件时,发现一个很有趣的现象:

  • 用atom编辑器写的txt文件,发现换行符是’\r’。
  • 用pycharm编辑器编写的txt文件,发现换行符是’\n’。
  • python用open函数去打开相应文件,readline()时默认使用的换行符是’\n’,所以读取atom编写的文件会出异常不分行了

查找资料

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

  • Windows是’\r\n’
  • Linux是’\n’

python编辑处理文件时,如何定义换行符

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • .bat脚本基本命令语法 目录 批处理的常见命令(未列举的命令还比较多,请查阅帮助信息) 1、REM 和 :: 2...
    庆庆庆庆庆阅读 8,238评论 1 19
  • 基础命令 主要的命令和快捷键 Linux系统命令由三部分组成:cmd + [options]+[operation...
    485b1aca799e阅读 1,127评论 0 0
  • 在高温天即将来临之季,这些可爱的城市建设者,仍在为城市的建设辛苦地劳作。 城市的繁荣离不开她们,致敬!
    大头0918阅读 384评论 0 7
  • 也许,人看到的只是这一生的情况,那这一生又要如何度过呢? 是凭借手段技巧,待人和做事?商场上勾心斗角? 还是保持一...
    龙文凤武阅读 345评论 0 1
  • 昨天任务完成,今天要把二级笔试题目找出来,早上总结所有笔试的题目,下午晚上各做四套
    Caranda阅读 181评论 0 0