导语:
本文主要介绍了关于Python readline和readlines函数:按行读取文件的相关知识,希望可以帮到处于编程学习途中的小伙伴
如果程序要读取行,则只能在文本模式下读取。原因很简单。只有文本文件有行的概念,二进制文件没有所谓的行的概念。
文件对象提供了如下两个方法来读取行:
readline([n]):读取一行内容。如果指定了参数 n,则仅读取该行中的 n 个字符。
readlines():读取文件内所有行。
下面程序示范了使用 readline() 方法来读取文件内容:
import codecs
# 指定使用utf-8字符集读取文件内容
f = codecs.open("readline_test.py", 'r', 'utf-8', buffering=True)
while True:
# 每次读取一行
line = f.readline()
# 如果没有读到数据,跳出循环
if not line: break
# 输出line
print(line, end='')
f.close()
上述程序使用 UTF-8 字符集打开 readline_test.py 文件。这是因为 Python 源文件以 UTF-8 字符集保存。因此,如果直接使用普通的 open() 函数打开文件,则会引发 UnicodeDecodeError 异常。
接下来,程序使用 readline() 方法逐行读取。当读取结束时,该方法将返回空,程序将退出循环。
程序还可以使用 readlines() 方法一次读取文件中的所有行。例如下面的程序:
import codecs
# 指定使用utf-8字符集读取文件内容
f = codecs.open("readlines_test.py", 'r', 'utf-8', buffering=True)
# 使用readlines()读取所有行,返回所有行组成的列表
for 1 in f.readlines():
print(1, end='')
f.close()
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
内容反馈