一般情况下,逐行读取只适用于以文本格式打开的文件,道理很简单,只有文本文件才有行的概念,二进制文件没有所谓行的概念。
readline()函数
readline() 函数用于读取文件中的一行,包含**后的换行符“n”。此函数的基本语法格式为:
file.readline([size])
其中,file 为打开的文件对象;size 为可选参数,用于指定读取每一行时,一次**多读取的字符数。下面程序示范了使用 readline() 方法来读取文件内容:和 read() 函数一样,此函数成功读取文件数据的前提是,使用 open() 函数指定打开文件的模式必须为 r(只读模式)或 r+(读写模式)。
#a.txt中有两行内容,分别是:
#考高分网
#www.pxcodes.com
f = open("a.txt", 'r', True)
while True:
# 每次读取一行
line = f.readline()
# 如果没有读到数据,跳出循环
if not line: break
# 输出line
print(line)
f.close()
运行结果为:
考高分网
www.pxcodes.com
不仅如此,在逐行读取时,还可以限制每次**多读取的字符数,例如:
f = open("a.txt", 'r', True)
while True:
# 每次读取一行
line = f.readline(3)
# 如果没有读到数据,跳出循环
if not line: break
# 输出line
print(line)
f.close() 运行结果为:
C语言
中文网
htt
p:/
/c.
bia
nch
eng
.ne
t
readlines() 函数的基本语法格式如下:和 readline() 函数一样,readlines() 函数在读取每一行时,会连同行尾的换行符一块读取。
file.readlines()
其中,file 为打开的文件对象。和 read()、readline() 函数一样,它要求打开文件的模式使用 r(只读)或者 r+(读写)。例如如下程序:
f = open("a.txt", 'r', True)
lines = f.readlines()
for line in lines:
print(line)
运行结果为:
考高分网
www.pxcodes.com



