读取文件的三个方法:read()、readline()、readlines()。均可接受一个方法参数用以限制每次读取的数据量,但通常不使用
优点:读取整个文件,将文件内容放到一个字符串变量中。
劣势:如果文件非常大,尤其是大于内存时,无法使用read()方法。
总结:不适用于读取大文件
f = open('test/gbk.txt', 'r+', encoding='utf-8')
print(f.read())
123
456
789
@#$%
优点:readline()方法每次读取一行;返回的是一个字符串对象,保持当前行的内存,不占用内存
缺点:比readlines慢得多
# 读取一行
f = open('test/gbk.txt', 'r+', encoding='utf-8')
print("读取一行 ====")
line = f.readline()
while line:
# 打印当前文件指针的位置
print("文件指针:", f.tell())
print("行内容:", line)
line = f.readline()
读取一行 ====
文件指针: 7
行内容: tests
文件指针: 12
行内容: 123
文件指针: 17
行内容: 456
文件指针: 22
行内容: 789
文件指针: 28
行内容: 菠萝
\n
特点:一次性读取整个文件;自动将文件内容分析成一个行的列表
# 读取多行
f = open('test/gbk.txt', 'r+', encoding='utf-8', errors='ignore')
print("读取多行 ====")
print(f.readlines())
['tests\n', '123\n', '456\n', '789\n', '菠萝']