python读文件换行符怎么处理_python tips:文件读取——换行符的问题

本文探讨了Python在处理Windows文件中换行符` `、` `、` `时可能出现的问题,以及如何通过open函数的newline参数进行控制。详细解释了newline参数的五种取值,并通过六个实例展示了不同设置下的文件读写行为,以确保正确处理换行符。
摘要由CSDN通过智能技术生成

问题:在windows系统中,换行的符号是'\r\n'。python在读文件的时候为了系统兼容,会默认把'\r','n','\r\n'都视作换行。但是在windows文件中,可能在同一行中同时存在'\n','\r\n','\r'。这个时候python的默认行为会将一行拆分成多行输出,影响预期结果。

此时需要设置open函数的newline参数,修改python对换行的默认行为。

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

newline有五种取值:None,'','\n','\r','\r\n'。

在输入过程(从文件到程序),newline用于定义换行的符号:

1.如果newline为None,碰到'\r','\n','\r\n'都算行尾,而且这些符号都会被转换成'\n'。

2.如果newline为'',也是碰到'\r','\n','\r\n'都算行尾,但是这些符号不会发生转换。

3.如果newline为'\r','\n','\r\n',等于是显示指定了换行符,而且行中的符号不会发生转换。

在输出过程(从程序到文件),newline用于指定'\n'的转换符号:

1.如果newline为None,所有的'\n'都被转换成系统换行符。

2.如果newline为'','\n',不会发生转换。

3.如果newline为'\r','\r\n',所有的'\n'会被转换成'\r'或者'\r\n'。

实例一:输出不指定newline,所有的'\n'都被

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值