python中read、readline和readlines的区别

article/2025/9/22 12:43:36

python中有神奇的三种读操作:read、readline和readlines

read()  : 一次性读取整个文件内容。推荐使用read(size)方法,size越大运行时间越长

readline()  :每次读取一行内容。内存不够时使用,一般不太用

readlines()   :一次性读取整个文件内容,并按行返回到list,方便我们遍历


一般小文件我们都采用read(),不确定大小你就定个size,大文件就用readlines()


1)我们先用read来完整读取一个小文件,代码如下:

f = open('test.py', 'r')
print(f.read())
f.close()                # 用完记得关闭

看看运行的结果:


我们看到这是一个打印Helllo World!的简单程序

同时也感受到打印小文件这种小任务确实交给read比较快


2)接着再来看readline,代码:

f = open('test.py', 'r')
print(f.readline())
f.close()

运行结果:


果然顾名思义,它只吝啬地给我打印了一行

我原文件test.py有五行文字,那么我打完一个test.py需要print五次,稍显麻烦,不过你也可以如下使用while循环:

f = open('test.py', 'r')
line = f.readline()
while line:print(line, end="")line = f.readline()
f.close()


3)最后再来看readlines,代码:

f = open('test.py', 'r')
print(f.readlines())
f.close()

运行结果:


它果然将我们的内容都放进一个list列表中,连空格和\n都保留了下来

接着我们写个循环去遍历它:

f = open('test.py', 'r')
for line in f.readlines():print(line, end="")
f.close()

因为print还会自动换行,我们利用end=""来取消

运行如图:


这样我们就得到了和用read差不多的内容了

但是readlines在读配置文件还是有一定优势的


http://chatgpt.dhexx.cn/article/ct8elMwF.shtml

相关文章

read(),readline(),readlines()的区别

这三个方法偶尔会混淆,直接做个记录。 自己随便写了个txt文件: 1、read() read()方法会直接读取整个文本的内容,并将它们保存在字符串变量。 f open(D:\Procedure\pycharm\python\op.txt,)print(f.read()) print(type(f.read())) 2、readl…

关于readline ,readlines, for循环读取文件内容

1、readlines: readlines() 用于一次性读取所有行,然后将它们作为列表中的字符串元素作为每一行返回。 此函数可用于小文件,因为它将整个文件内容读取到内存中,然后将其拆分为单独的行。 我们可以遍历列表并使用 strip() 函数去除换行符“\n”…

Node.js学习六(readline)

文章目录 一、什么是readline二、如何使用readline1、Interface类2、close事件3、readline.createInterface(options) 三、实例:输入输出四、示例:模拟命令行的输入输出 一、什么是readline readline是Node.js里实现标准输入输出的封装好的模块&#xff…

java以前版本下载方式

java以前版本下载 1.创建Oracle账号 2.网址https://www.oracle.com/java/technologies/downloads/archive/

java -version

一、JDK下载 1.官网下载 点击官网下载地址 往下划,找到自己电脑相对应的JDK,点击下载。 二、安装步骤 初学者建议傻瓜式安装,直接点击下一步即可。 三、搭配环境变量 1.Path变量 解决方法:配置Path变量。 右键点击“此电脑”&…

最全的Java版本历史

JDK 1.0(1996) Sun公司发布Java1.0,发布初期叫Oak,后改名为Java(JDK1.0基本上只支持Java语言基础特性) JDK 1.1(1997) 引入内部类引入JDBC: 是Java语言中用来规范客户…

JDK各个版本的区别

jdk1.5的新特性&#xff1a; 1. 泛型 ArrayList listnew ArrayList()------>ArrayList<Integer>listnew ArrayList<Integer>(); 2 自动装箱/拆箱 nt ilist.get(0).parseInt();-------->int ilist.get(0);原始类型与对应的包装类不用显式转换 3 for-eac…

Java 版本区分

Java分为如下三个版本&#xff1a; Java SE&#xff1a;Standard Edition&#xff1a; Java SE就是标准版&#xff0c;包含标准的JVM和标准库。 Java EE&#xff1a;Enterprise Edition 而Java EE是企业版&#xff0c;它只是在Java SE的基础上加上了大量的API和库&#xff0c;…

更换Java版本

当windows系统中存在多个java版本时&#xff0c;怎么切换&#xff1f; 如果是1.7以前的版本&#xff0c;则直接修改环境变量JAVA_HOME&#xff1b; 如果是1.7及以后的&#xff0c;则可能要修改C:\ProgramData\Oracle\Java\javapath 中的三个java&#xff0c;可重命名&#xff…

JAVA版本号的问题 Java版本号与JDK版本

初学Java时便一直疑惑Java版本号到底是如何命名的&#xff1f;时常在网上看到Java5、Java6、Java7、Java8 (到今天已经到了Java12了&#xff0c;2019.4.5) 这一类 “Java X” 的Java版本名称&#xff0c;同时又会看到诸如JDK1.5、JDK1.6这中 “JDK1.X” 的JDK叫法。一直以来都在…

查看java/jdk版本

查看当前电脑的Java/JDK版本的方法 1.winR 打开运行窗口&#xff0c;输入 cmd 2.在控制台中输入java --version或者java -version&#xff0c;即可查看Java版本号 Java所有版本 版本号发布日期JDK Version 1.01996-01-23 Oak(橡树)JDK Version 1.11997-02-19JDK Version …

java的所有版本

图解 最开始 Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的高级程序设计语言。 Oak也是一种精简的语言&#xff0c;程序非常小&#xff0c;适合在网络上传输。Sun公司首先推出了可以嵌入网页并且可以随同网页在网络上传输的Applet&#xff08;Applet是一种将小程序嵌…

JDK版本区别

1. 泛型 ArrayList listnew ArrayList()------>ArrayList<Integer>listnew ArrayList<Integer>(); 2 自动装箱/拆箱 nt ilist.get(0).parseInt();-------->int ilist.get(0);原始类型与对应的包装类不用显式转换 3 for-each i0;i<a.length;i------------&…

Java版本和JDK版本

转载 对于Java初学者&#xff0c;经常会听到同事&#xff0c;或看到网上Java版本和JDK版本不一的叫法&#xff0c;不明白这两者到底什么关系&#xff1f;其实博主当年初学Java时也有这样的困惑&#xff0c;今天我们就来好好探讨一下&#xff0c;如有不对之处&#xff0c;请加以…

JAVA版本号的问题——Java版本号与Jdk版本

初学Java时便一直疑惑Java版本号到底是如何命名的&#xff1f;时常在网上看到Java5、Java6、Java7、Java8 (到今天已经到了Java12了&#xff0c;2019.4.5) 这一类 “Java X” 的Java版本名称&#xff0c;同时又会看到诸如JDK1.5、JDK1.6这中 “JDK1.X” 的JDk叫法。一直以来都在…

Java各个版本区别

参考资料 一文彻底搞懂令人疑惑的Java和JDK的版本命名&#xff01; Java–Java版本和JDK版本 1. Java SE、java EE、Java ME三个版本 1.1 Java SE&#xff08;Java Platform&#xff0c;Standard Edition&#xff09;Java标准版 Java SE 是做电脑上运行的软件。 Java se 以前…

Java各版本比较(Java SE、java EE、Java ME)

文章目录 1. 概述2. 版本比较2.1 Java SE、java EE、Java ME2.2 JDK、J2SE、Java SE2.3 JDK、JRE、Java SE API2.4 JDK、JRE、JRE、JIT2.5 Java ME、Java SE、Java EE、Java Card 来源 1. 概述 java是作为长时间流行的语言&#xff0c;在这过程中出现了很多版本&#xff0c;各…

Java--Java版本和JDK版本

对于Java初学者&#xff0c;经常会听到同事&#xff0c;或看到网上Java版本和JDK版本不一的叫法&#xff0c;不明白这两者到底什么关系&#xff1f;其实博主当年初学Java时也有这样的困惑&#xff0c;今天我们就来好好探讨一下&#xff0c;如有不对之处&#xff0c;请加以指正&…

【SpringBoot整合缓存】-----Redis缓存篇

本专栏将从基础开始&#xff0c;循序渐进&#xff0c;以实战为线索&#xff0c;逐步深入SpringBoot相关知识相关知识&#xff0c;打造完整的SpringBoot学习步骤&#xff0c;提升工程化编码能力和思维能力&#xff0c;写出高质量代码。希望大家都能够从中有所收获&#xff0c;也…

SpringBoot 开启Redis缓存

文章目录 Redis缓存主要步骤具体实践整体目录结构pom.xml添加依赖yml文件里配置Redis集群编写RedisConfig配置序列化及缓存配置&#xff0c;添加缓存注解编写业务Controller编写启动类 检验结果 之前不是说过Redis可以当作缓存用嘛 现在我们就配置一下SpringBoot使用Redis的缓存…