文件操作(读文本操作)read(),readline,readlines()

本文介绍了Python中对文件进行读取的三种主要方法:read()用于一次性读取整个文件内容,readline()逐行读取,readlines()则一次性读取所有行并返回列表。对于大文件,使用readlines()可能占用大量内存,不推荐使用。此外,还提到了in关键字在文件读取中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由文件打开操作可以知道:打开文件成功后会返回一个文件对象,对文件的读取可通过3种方法对
该对象来操作

f1 = open('test.txt',mode="r",encoding="utf-8")   #打开当前目录下的 test.txt文件
f2 = open('../test.txt')  #打开上级目录下的 test.txt文件
f3 = open('D:/python/test.txt')  #打开D:/python目录下的test.txt文件
f1 = open("文件名","打开文件的模式")  #需要对象名.close()关闭
#with open("文件名","打开文件的模式") as f1:

一.read()方法

文件对象.read([size]) #从文件中读取size个字节或字符作为结果返回,
若省略size,则表示读取所有内容

例子:

with open("test",'r') as f1:
# f1 = open("test",mode='r')
    mess = f1.read(2)
    mess1 = f1.read()
    # mess2 = f1.readline()
    # mess3 = f1.readlines()
    print(mess)
    print("*"*50)
    print(mess1)

结果:

回头
**************************************************
科科欢迎大家!
2020.3.30
第三行
第四行
第五行
第六行

这里是为什么呢?为什么科科前面的回头哪里了?

因为这里的mess先读取到2个字符组成的字符串,赋值给mess

然后读取剩下的字符串赋值给mess1


二.readline()方法该方法可以逐行读取文件内容

该方法可以逐行读取文件内容,语法格式如下:

文件对象.readline() # 从文件中读取一行内容作为结果返回。

例子:

with open("test",'r') as f1:
# f1 = open("test",mode='r')
    mess = f1.read(2)
    # mess1 = f1.read()
    mess2 = f1.readline()
    # mess3 = f1.readlines()
    print(mess)
    print("*"*50)
    # print(mess1)
    print("*"*50)
    print(mess2)

结果:

回头
**************************************************
**************************************************
科科欢迎大家!

这里输出结果和上方read的红字解释意义相同!!!!!


三.readlines()方法可以读取文件中所有行

可以读取文件中所有行,语法格式如下:

文件对象.readlines() # 将文件中的每行内容作为一个字符串存入列表中,
并返回该列表

注意

  • readlines()方法一次性读取文件中所有行,如果文件非常大,使用该方法会占用大量的内存空间,读取的过程也比较长,所以不建议对大文件使用该方法

例子:

with open("test",'r') as f1:
# f1 = open("test",mode='r')
    mess = f1.read(2)
    # mess1 = f1.read()
    mess2 = f1.readline()
    mess3 = f1.readlines()
    print(mess)
    print("*"*50)
    # print(mess1)
    print("*"*50)
    print(mess2)
    print("*"*50)
    print(mess3)

结果:

回头
**************************************************
**************************************************
科科欢迎大家!

**************************************************
['2020.3.30\n', '第三行\n', '第四行\n', '第五行\n', '第六行']

这里输出结果和read的红字解释意义相同!!!!!


四.in关键字

可以使用 in关键字读取文件

例子:

with open("test","r") as f1:
    for ling in f1:
        print(ling)

结果:

回头科科欢迎大家!

2020.3.30

第三行

第四行

第五行

第六行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值