使用 read() 函数读取文件时,如果文件过大,则一次读取全部内容到内存,容易造成内存不足,而相比每次限制读取字符(或字节)的个数,更推荐大家使用逐行读取文件的方式。
一般情况下,逐行读取只适用于以文本格式打开的文件,道理很简单,只有文本文件才有行的概念,二进制文件没有所谓行的概念。
文件对象提供了 readline() 和 readlines() 两个函数来逐行读取文件,其中 readline() 函数用于读取一行内容,而 readlines() 函数用于读取文件内的所有行。
readline()函数
readline() 函数用于读取文件中的一行,包含最后的换行符“\n”。此函数的基本语法格式为:
file.readline([size])
其中,file 为打开的文件对象;size 为可选参数,用于指定读取每一行时,一次最多读取的字符数。
和 read() 函数一样,此函数成功读取文件数据的前提是,使用 open() 函数指定打开文件的模式必须为 r(只读模式)或 r+ (读写模式)。
下面程序示范了使用 readline() 方法来读取文件内容:
#a.txt中有两行内容,分别是: #PHP中文网 #https://www.php.cn f = open("a.txt", 'r', True) while True: # 每次读取一行 line = f.readline() # 如果没有读到数据,跳出循环 if not line: break # 输出line print(line) f.close()
输出结果是
PHP中文网 https://www.php.cn
更多学习内容,请点击Python学习网。