python处理文件的换行符
2024-09-15 02:31:05
我们知道在Windows平台下的换行符是\r\n,而在linux下的换行符是\n。现在写一个简单程序来测试python是如何处理这些换行符的。
准备文件data.txt,该文件在Windows平台下编辑。内容为:
程序:
path = sys.path[0] name = 'data.txt' li = []
with open(path + '/' + name) as f:
for line in f:
li.append(line) print li
在window环境下的python2运行结果为:
['1\n', '1\n', '2\n', '3\n', '4']
对前面的代码进行一下修改,在window环境下的python3运行结果为:
['1\n', '1\n', '2\n', '3\n', '4']
到这里没什么问题,但是在Linux平台下运行该程序结果就不一样了。
在linux平台下用python2运行上述代码,结果为:
['1\r\n', '1\r\n', '2\r\n', '3\r\n', '4']
同样修改一下代码,用python3运行,结果为:
['1\n', '1\n', '2\n', '3\n', '4']
我们再来看一看python3.7官方文档:
结论:
对Windows平台编辑的文件,在同样平台下的python2解释器,在读取文件时会将\r\n转换成\n,但在linux平台下的python2解释器就不会。
对于python3而言,不论windows和linux平台均会将特定的换行符转换为\n
补充:
在windows平台下,pandas读取文件的时候,并不会吧\r\n转换成\n,这一点要注意一下。
最新文章
- C# 词法分析器(五)转换 DFA
- Android下载图片/调用系统相机拍照、显示并保存到本地
- MyEclipse------如何查询MySQL数据库里面表的信息
- 制作支持UEFI PC的Server2008 R2系统安装U盘
- <;Araxis Merge>;快速一览文件的比较与合并
- MySQL float 与decimal 各中的区别。
- JAVA设计模式(09):结构化-代理模式(Proxy)
- UVa 1354 Mobile Computing | GOJ 1320 不加修饰的天平问题 (例题 7-7)
- 关于Vue的各个UI框架(elementUI、mint-ui、VUX)
- Cocos2D:塔防游戏制作之旅(六)
- count性能
- SASS学习笔记!(持续学习中..)
- ZOJ 1109 Language of FatMouse 【Trie树】
- 9.26 H5日记
- Singleton单例对象的使用
- iOS - 网址、链接、网页地址、下载链接等正则表达式匹配(解决url包含中文不能编码的问题)
- Numpy 基础知识
- 【BZOJ】【1006】【HNOI2008】神奇的国度
- Hidden Markov Model Toolbox for Matlab
- JMeter之分布式部署