章硕,js & python
夏一一、乔3少 赞同
这不是python的问题,windows的换行是\r\n,unix的是\n,mac的是\r。
换行符python?这是一个很经典的问题。因为不同系统下默认的换行符不同。字符处理时候,这样的“不同”会带来很大的问题,例如line[-2]和line.strip()会因为平台不同返回不同的值。
解决方法:
Python 2
1)如果不是txt文件,建议用wb和rb来读写。通过二进制读写,不会有换行问题。
python为什么叫爬虫?2)如果需要明文内容,请用rU来读取(强烈推荐),即U通用换行模式(Universal new line mode)。该模式会把所有的换行符(\r \n \r\n)替换为\n。只支持读入,但是也足够了。这是Python 提供给我们的最好的选择,没有之一。
对比r和rU的结果:
content = file(fn, 'r').read()
# test\r\ntest2
python \t,# 这里的换行会因不同系统而不同
content = file(fn, 'rU').read()
# test\ntest2
# 所有的换行都被统一,不分系统
python打开文件。Python 3
请注意:Python 3不推荐用rU模式!
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True)
在Python 3,可以通过open函数的newline参数来控制Unive
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态