You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python3如何仅以 为换行符读文件, 和 视为字符串内容

Python 3中仅以\n分割文件且保留\r字符的解决办法

我来给你捋捋问题出在哪,以及怎么解决:

首先,你用的rU模式在Python 3里已经被废弃啦,而且默认的文本读取模式会自动处理换行符——不管是\r\n、\r还是\n,都会被统一转换成\n,这就是你看不到\r字符的原因。

给你两个靠谱的解决方案:

  • 方案一:用二进制模式读取后解码
    二进制模式不会对文件内容做任何自动转换,能完整保留所有原始字符。读取后再解码成字符串,最后按\n分割就行:

    with open('file.txt', 'rb') as f:
        # 这里的编码要和你的文件实际编码一致,比如gbk、utf-16等
        content = f.read().decode('utf-8')
    lines = content.split('\n')
    
  • 方案二:文本模式指定newline=''参数
    这是更推荐的文本处理方式,指定newline=''后,Python会原样保留文件中的所有换行符序列,不会做转换:

    with open('file.txt', 'r', newline='') as f:
        content = f.read()
    lines = content.split('\n')
    

两种方法都能让你得到包含\r字符的分割结果,选哪个看你习惯就行~

内容的提问来源于stack exchange,提问作者hakobot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 06:41:38