转载自:http://blog.csdn.net/mrknight/article/details/9717995

1. 背景知识

ASCII码中的换行符与回车符:

换行符 10 LF '\n'

回车符 13 CR '\r'

在操作系统的历史中,有很多种方法来表示另起一行,但'\n'和'\r'是最常用的方式,目前主流操作系统的行结束符号如下所示:

操作系统 字符组合
UNIX & Mac OS X  '\n'
Mac(pre OS X)  '\r'
MS Windows  '\r\n'

2. 测试程序(python2.7 + win7)

(1) test1: "w"方式写时的'\n'会在被系统自动替换为'\r\n'

[python] view plaincopy print?
  1. # -*- coding: utf-8  -*-
  2. def main():
  3. try:
  4. fout = open("test1.txt", "w")
  5. except IOError:
  6. print "Error: open file failed."
  7. return
  8. for i in range(5):
  9. line = str(i) + "\n"
  10. fout.write(line)
  11. fout.close()
  12. if __name__ == "__main__":
  13. main()

测试结果:

(2) test2: "wb"方式写时的'\n'不会在被系统自动替换为'\r\n'

[python] view plaincopy print?
  1. fout = open("test2.txt", "wb")

测试结果:

(3) test3: "r"方式读时,文件中的'\r\n'会被系统替换为'\n'

另外,python提到的通用新行格式(U修饰符),个人觉得是把"r"默认"rU"的,测试中两种方式读取结果一样。

[python] view plaincopy print?
  1. # -*- coding: utf-8  -*-
  2. def main():
  3. try:
  4. fin = open("test1.txt", "r")
  5. except IOError:
  6. print "Error: open file failed."
  7. return
  8. for line in fin:
  9. for i in range(len(line)):
  10. print "\t%d" % ord(line[i]),
  11. print ""
  12. fin.close()
  13. if __name__ == "__main__":
  14. main()

对于上述不同内容的两个文件输出为:

(4) test4: "rb"方式读时,文件中的'\r\n'不会被系统替换为'\n'

3. 结论

上述问题实际上自己在文件处理中遇到,文件换行中的回车符和换行符挺容易弄混,总结了一下,共大家查阅

Python文件读写时的换行符与回车符相关推荐

  1. python数据文件换行输出方法,Python文件读写时的换行符与回车符

    Python文件读写时的换行符与回车符 1. 背景知识 ASCII码中的换行符与回车符: 换行符 10 LF '\n' 回车符 13 CR '\r' 在操作系统的历史中,有很多种方法来表示另起一行,但 ...

  2. 关于python文件读写小结

    读文件 打开一个文件用open()方法(open()返回一个文件对象,它是可迭代的): >>> f = open('test.txt', 'r') r表示是文本文件,rb是二进制文件 ...

  3. python读文件写文件-python 文件读写操作

    读文件 打开一个文件用open()方法(open()返回一个文件对象,它是可迭代的): >>> f = open('test.txt', 'r') r表示是文本文件,rb是二进制文件 ...

  4. python对文件的读写操作方式-python 文件读写操作

    读文件 打开一个文件用open()方法(open()返回一个文件对象,它是可迭代的): >>> f = open('test.txt', 'r') r表示是文本文件,rb是二进制文件 ...

  5. python 文件读写找不到文件-python之文件读写

    本节内容: I/O操作概述 文件读写实现原理与操作步骤 文件打开模式 Python文件操作步骤示例 Python文件读取相关方法 文件读写与字符编码 一.I/O操作概述 I/O在计算机中是指Input ...

  6. python文件读写_python基础-文件读写'r' 和 'rb'区别

    一.Python文件读写的几种模式: r,rb,w,wb 那么在读写文件时,有无b标识的的主要区别在哪里呢? 1.文件使用方式标识 'r':默认值,表示从文件读取数据. 'w':表示要向文件写入数据, ...

  7. 肝!超好懂的 Python 文件读写教程!

    (扫码关注) 作者:黄伟呢 源自:数据分析与统计学之美 1.文件读写的流程 1)类比windows中手动操作txt文档,说明python中如何操作txt文件? ① windows中手动操作txt文件的 ...

  8. python文件读写小结

    读文件 打开一个文件用open()方法(open()返回一个文件对象,它是可迭代的): >>> f = open('test.txt', 'r') r表示是文本文件,rb是二进制文件 ...

  9. python文件读写及形式转化和CGI的简单应用

    一丶python文件读写学习笔记 open() 将会返回一个 file 对象,基本语法格式如下: open(filename, mode) filename:包含了你要访问的文件名称的字符串值. mo ...

最新文章

  1. Django学习小记[2] —— Model
  2. 宝马戴姆勒、大众福特 自动驾驶圈又添新团伙
  3. boost::lockfree::stack用法的测试程序
  4. php api 无符号整数基数为16的整数参数的字符串表示形式,[1.12]-参数规则:接口参数规则配置 | PhalApi(π框架) - PHP轻量级开源接口框架 - 接口,从简单开始!...
  5. Android 弹出 Toast 时取消上一个 Toast(完美方案)增加同步
  6. oracle ion tool,Ionic4 导航条组件 ion-toolbar - Ionic 帮助文档
  7. 2 年 6 个月 11 天,外包到阿里的修仙之路!| 原力计划
  8. LintCode_514 Paint Fence
  9. 网上购物系统数据库分析
  10. linux系统手机助手,手机助手Linux版下载
  11. 移动磁盘显示数据错误循环冗余检查数据怎样恢复
  12. 关于我用iVX沉浸式体验了一把0代码创建电影院购票小程序这件事
  13. 微信小程序 校园食堂订餐点餐配送系统项目app毕业设计
  14. 面试题大全1-javaSE部分-JavaEE框架中间件
  15. linux连接多个显示器,如何在Linux Ubuntu中使用多个和外部显示器 | MOS86
  16. c语言编程齿轮模数选择,如何画齿轮,一看就懂
  17. 采用CCG和kkt条件编制两阶段鲁棒优化程序,以储能、发电、风电和光伏容量作为第一阶段变量
  18. 小程序和新零售,双双涉入深水区
  19. 原油有所反弹但空间依然不大
  20. 树莓派远程4G遥控车教程(三)-摄像头安装及实现局域网实时监控

热门文章

  1. 怎么理解 IaaS、SaaS 和 PaaS 的区别?
  2. 24行代码AC_蓝桥杯2019省赛 试题 D: 数的分解
  3. linux ctime 时间戳,Linux时间戳atime ctime mtime区别及相关命令
  4. code block怎样导入整个文件夹_一文就能get!带你了解Python模块导入的真相,拿走不谢...
  5. netty java开发文档_《Netty官方文档》设置开发环境
  6. java连接数据库hei_如何黑MySQL5数据库?(来自:http://superhei.blogbus.com)
  7. 高校计算机基础能力测试文字处理,高校计算机基础论文3篇(共8238字).doc
  8. Linux系统xshell常用指令,linux系统安装数据库时,xshell工具常用MySQL(5.5)相关命令...
  9. linux进程 面试题,Linux面试题,浅析常见Linux命令面试题及答案
  10. nginx虚拟目录支持PHP,nginx“虚拟目录”不支持php的解决方法