900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > Python文件读写时的换行符与回车符

Python文件读写时的换行符与回车符

时间:2019-07-25 22:19:44

相关推荐

Python文件读写时的换行符与回车符

转载自:/mrknight/article/details/9717995

1. 背景知识

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

换行符 10 LF '\n'

回车符 13 CR '\r'

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

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

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

[python]view plaincopy print? #-*-coding:utf-8-*- defmain(): try: fout=open("test1.txt","w") exceptIOError: print"Error:openfilefailed." return foriinrange(5): line=str(i)+"\n" fout.write(line) fout.close() if__name__=="__main__": main()

测试结果:

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

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

测试结果:

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

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

[python]view plaincopy print? #-*-coding:utf-8-*- defmain(): try: fin=open("test1.txt","r") exceptIOError: print"Error:openfilefailed." return forlineinfin: foriinrange(len(line)): print"\t%d"%ord(line[i]), print"" fin.close() if__name__=="__main__": main()

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

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

3. 结论

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。