python换行符 n怎么用_Python换行符问题:\r\n还是\n?

python换行符 n怎么用_Python换行符问题:\r\n还是\n?章硕 js amp python 夏一一 乔 3 少赞同这不是 python 的问题 windows 的换行是 r n unix 的是 n mac 的是 r 这是一个很经典的问题 因为不同系统下默认的换行符不同 字符处理时候 这样的 不同 会带来很大的问题 例如 line 2 和 line strip 会因为平台不同返回不同的值 解决方法 Python21 如果不是 txt 文件 建议用 wb 和 rb 来读写 通过

章硕,js & python

夏一一、乔3少 赞同

这不是python的问题,windows的换行是\r\n,unix的是\n,mac的是\r。

这是一个很经典的问题。因为不同系统下默认的换行符不同。字符处理时候,这样的“不同”会带来很大的问题,例如line[-2]和line.strip()会因为平台不同返回不同的值。

解决方法:

Python 2

1)如果不是txt文件,建议用wb和rb来读写。通过二进制读写,不会有换行问题。

2)如果需要明文内容,请用rU来读取(强烈推荐),即U通用换行模式(Universal new line mode)。该模式会把所有的换行符(\r \n \r\n)替换为\n。只支持读入,但是也足够了。这是Python 提供给我们的最好的选择,没有之一。

对比r和rU的结果:

content = file(fn, ‘r’).read()

# test\r\ntest2

# 这里的换行会因不同系统而不同

content = file(fn, ‘rU’).read()

# test\ntest2

# 所有的换行都被统一,不分系统

Python 3

请注意:Python 3不推荐用rU模式!

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

在Python 3,可以通过open函数的newline参数来控制Unive

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/178229.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午5:44
下一篇 2026年3月26日 下午5:45


相关推荐

  • Mac PHPStorm清除SVN配置缓存

    Mac PHPStorm清除SVN配置缓存

    2021年10月21日
    42
  • LayUI树形表格treetable使用详解

    LayUI树形表格treetable使用详解LayUI是现在比较流行的一款前端框架,也有很多人基于LayUI开发了很多不错的组件,比如treetable树形表格。因为treetable是第三方基于LayUI开发的,所以需要先用Layui引入一下文件。layui.config({base:’static/layui/’}).extend({treetable:’treetable-lay/treetab…

    2022年6月13日
    422
  • 计算机传真,电脑收发传真

    计算机传真,电脑收发传真WindowsXP有一项免费的传真功能,用它可以轻松收发传真,不用再买传真机了,可以通过网络直接发送。这里将发传真的具体操作步骤介绍如下,你只要照着做,一定就会收发传真。还可以用他来做打印机!中文名电脑收发传真特点免费的传真功能系统WindowsXP优点可以实现移动办公用于做打印机电脑收发传真操作步骤编辑语音电脑收发传真安装传真组件在WindowsXP-F收发…

    2022年6月28日
    24
  • JavaSocket通信

    JavaSocket通信子曰 温故而知新 可以为师矣 网络基础知识两台计算机通过网络进行通信的必备条件 1 两台计算机要有唯一的标识 IP 地址 2 协议 3 相应的端口号 不同的应用程序间的通信 我们需要使用端口号来区分 TCP IP 是目前世界上应用最为广泛的协议 是以 TCP 和 IP 为基础的不同层次上多个协议的集合 也称 TCP IP 协议族或 TCP IP 协议栈 TCP Transmission

    2026年3月19日
    4
  • MATLAB 循环语句_for循环matlab

    MATLAB 循环语句_for循环matlabMatlab的循环语法1、用循环方式实现从1到999的累加2、(1)、for循环方式实现: %% %初始化sum的值为0 sum=0; %从1开始遍历到999 fori=1:999 %对遍历的每一个元素进行累加 sum=sum+i; end %在控制台显示结果 disp(sum); (…

    2026年4月14日
    4
  • 阿里云域名申请ssl证书_阿里云认证证书

    阿里云域名申请ssl证书_阿里云认证证书

    2026年4月17日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号