学科分类
目录
基础

文件的读取

Python中与文件读取相关的方法有3种,分别为read()、readline()、readlines()。接下来逐一对这3种方法的使用进行详细介绍。

1.read()方法

read()方法可以从指定文件中读取指定数据,其语法格式如下:

txt_data.read([size]) 

在上述格式中,txt_data表示文件对象,参数size用于设置读取数据的字节数,若参数size缺省,则一次读取指定文件中的所有数据。

以文件txt_file.txt为例,读取该文件中指定长度的数据,示例代码如下。

txt_data = open('txt_file.txt', mode='r', encoding='utf-8')
print("读取两个字节数据:")
print(txt_data.read(2))  # 读取两个字节的数据
txt_data.close()
txt_data = open('txt_file.txt', mode='r', encoding='utf-8')
print("读取全部数据:")
print(txt_data.read())  # 读取全部数据
txt_data.close()

上述代码首先使用open()函数以只读模式打开文件txt_file.txt,然后通过read()方法从该文件中读取两个字节的数据,读取完毕后关闭文件,之后使用同样的方式再次打开文件txt_file.txt,通过read()方法读取该文件中的所有内容,最后在读取完毕后关闭文件。

运行代码,结果如下所示:

读取两个字节数据:
Li
读取全部数据:
Life is short, use Python.
Hello Python.

2.readline()方法

readline()方法可以从指定文件中读取一行数据,其语法格式如下:

txt_data.readline() 

在上述格式中,txt_data表示文件对象,readline()方法每执行一次只会读取文件中的一行数据。

接下来,以文件txt_file.txt为例,使用readline()方法读取一行数据,示例代码如下:

text_data = open('txt_file.txt', mode='r', encoding='utf-8')
print(text_data.readline())
text_data.close()

运行代码,结果如下所示:

Life is short, use Python.

3.readlines()方法

readlines()方法可以一次读取文件中的所有数据,其语法格式如下:

txt_data.readlines()

在上述格式中,txt_data表示文件对象,readlines()方法在读取数据后会返回一个列表,文件中的每一行对应列表中的一个元素。

以文件txt_file.txt为例,使用readlines()方法读取该文件中的全部数据,具体代码如下:

txt_data = open('txt_file.txt', mode='r', encoding='utf-8')
print(txt_data.readlines())   # 使用readlines()方法读取数据
txt_data.close()             # 关闭文件

运行代码,结果如下所示:

['Life is short, use Python.\n', 'Hello Python.']

以上介绍的三个方法通常用于遍历文件,其中read()(参数缺省时)和readlines()方法都可一次读取文件中的全部数据,但这两种操作都不够安全。因为计算机的内存是有限的,若文件较大,read()和readlines()的一次读取便会耗尽系统内存,这显然是不可取的。为了保证读取安全,通常多次调用read()方法,每次读取size字节的数据。

点击此处
隐藏目录