当前位置: 首页 > news >正文

Python 中read、readline、readlines 有哪些区别?

在 Python 中,read()readline()readlines() 都是用于读取文件内容的方法,但它们的行为有所不同:

1. read(size=-1)

  • 作用:读取整个文件的内容,并返回字符串(文本模式)或字节(二进制模式)。
  • 参数
    • size:可选参数,指定要读取的字节数(默认为 -1,表示读取整个文件)。
  • 返回值:读取的内容(字符串或字节)。
  • 适用场景:适用于读取小型文件,不适用于大文件(可能占用大量内存)。
with open("example.txt", "r") as f:
    content = f.read()
    print(content)  # 读取整个文件

2. readline(size=-1)

  • 作用:每次读取文件的一行内容。
  • 参数
    • size:可选参数,指定读取的最大字节数(不常用)。
  • 返回值:读取的一行字符串(包含换行符 \n,除非是最后一行)。
  • 适用场景:适用于逐行读取文件,适合处理较大的文件。
with open("example.txt", "r") as f:
    line1 = f.readline()  # 读取第一行
    line2 = f.readline()  # 读取第二行
    print(line1, line2)

3. readlines(hint=-1)

  • 作用:读取整个文件,并返回一个包含所有行的列表
  • 参数
    • hint:可选参数,指定要读取的最大字节数(不常用)。
  • 返回值:一个列表,每个元素是一行内容(包含换行符 \n)。
  • 适用场景:适用于需要将所有行存入列表中进行处理的场景,不适用于特别大的文件。
with open("example.txt", "r") as f:
    lines = f.readlines()
    print(lines)  # ['第一行\n', '第二行\n', '第三行']

总结对比:

方法读取内容返回类型适用场景
read()整个文件字符串(文本模式)/字节(二进制模式)适合小文件
readline()一行字符串逐行读取大文件
readlines()所有行列表(每个元素是一行)适合存储所有行进行处理

如果文件很大,建议使用 readline() 逐行读取或使用 for line in file 遍历文件,而不是 read()readlines(),以减少内存占用。

相关文章:

  • 针对不同文本长度的处理方案,结合层次化编码和检索优化策略
  • C语言数据结构———循环消息队列,数组方式实现
  • 零基础学QT、C++(六)制作桌面摄像头软件
  • 利用miniqmt实现远程下单:量化交易的新突破
  • Python爬虫-批量爬取股票数据猫各股票代码
  • Open WebUI 是什么
  • centos9安装k8s集群
  • C#从入门到精通(34)—如何防止winform程序被同时打开多次
  • 嵌入式之宏定义编程机制
  • vue中将el-table导出为excel文件
  • Django Admin: 动态合并数据库和预定义选项的高级过滤器实现
  • 【废物研究生刷算法】字符串
  • 嵌入式标志位解决程序卡顿问题
  • 工具--安川伺服故障代码
  • Open WebUI选择模型为空,解决办法(for DeepSeek)
  • Vue3 + Spring WebMVC 验证码案例中的跨域问题与解决方法
  • v4l2子系统学习(三)编写虚拟摄像头驱动
  • 清华大学第五弹:《DeepSeek与AI幻觉》
  • 编译部署使用腾讯云cpp-cos-sdk
  • Python爬虫实战:获取六图网漫画图
  • 青年与城市共成长,第六届上海创新创业青年50人论坛将举办
  • GOMU超马世锦赛,男女冠军刷新世界纪录
  • 国防部新闻发言人就日本民用飞机侵闯中国钓鱼岛领空答记者问
  • 解放军报八一锐评:青春无限好,奋斗正当时
  • 苏丹外交部:苏丹西部一城市约300名平民遭杀害
  • 五一假期旅游大市党政领导靠前调度,重视解决游客反映的问题