Python读取文本文件的几种方式

Python 提供了如下 3 种函数,它们都可以帮我们实现读取文件中数据的操作:

  1. read() 函数:逐个字节或者字符读取文件中的内容,若有参数,则根据指定值读取字节或字符;
  2. readline() 函数:逐行读取文件中的内容;
  3. readlines() 函数:一次性读取文件中多行内容

read()函数 

 open() 函数,并以可读模式(包括 r、r+、rb、rb+)打开的文件,可以调用 read() 函数逐个字节(或者逐个字符)读取文件中的内容

如果文件是以文本模式(非二进制模式)打开的,则 read() 函数会逐个字符进行读取;反之,如果文件以二进制模式打开,则 read() 函数会逐个字节进行读取。 

语法格式

file.read([size])

其中,file 表示已打开的文件对象;size 作为一个可选参数,用于指定一次最多可读取的字符(字节)个数,如果省略,则默认一次性读取所有内容。 

demo 

def file():
    cluster = []
    # f = open("./test/cluster.txt", encoding="utf-8")
    f = open("cluster.txt", encoding="utf-8")
    cluster = f.readline()
    cluster = f.read().split('\n')
    # cluster.append(c)
    f.close()
    # print(len(c))
    return cluster

注意:文件访问结束后,必须调用 close() 函数关闭文件

指定大小的形式读取文件(10个字节)

    cluster = f.read(10).split('\n')

以二进制的形式读取文件

f = open("cluster.txt", 'rb+')

 以二进制打印出来的是二进制格式,转换成utf-8可读性文件如下

byt=f.read()
byt.decode('utf-8')

注意:在使用 read() 函数时,如果 Python 解释器提示UnicodeDecodeError异常,其原因在于,目标文件使用的编码格式和 open() 函数打开该文件时使用的编码格式不匹配

 readline()函数 

readline() 函数用于读取文件中的一行,包含最后的换行符“\n”

语法格式

 f = open("cluster.txt", 'utf-8')
 cluster = f.readline()

 readlines()函数

readlines() 函数用于读取文件中的所有行,它和调用不指定 size 参数的 read() 函数类似,只不过该函数返回是一个字符串列表,其中每个元素为文件中的一行内容 

语法格式

f = open("cluster.txt", 'utf-8')
cluster = f.readlines()

注意:file 为打开的文件对象。和 read()、readline() 函数一样,它要求打开文件的模式必须为可读模式(包括 r、rb、r+、rb+ 4 种) 

  • 5
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

漁陽

彼此共勉,砥砺前行

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值