python的open模块是我们开发中常用到的读取文件的模块,我们今天来看看read()、readline()、readlines()三个方法有何不同
1.read()方法,这个方法是可以传一个size参数进去,方法从文件当前位置起读取size个字节,若无参数size,则表示读取至文件结束为止,它范围为字符串
with open('test.log', 'r', encoding='utf-8') as f: line = f.read() print(line) print(type(line))
打印结果是
yang.su shevechco merci <class 'str'>
2.readline()方法,这个方法我们可以从命令上猜出这个方法是逐行读取文件,这样的话消耗内存较少,他也是返回一个字符串对象
with open('test.log', 'r', encoding='utf-8') as f: while True: line = f.readline() line = line.strip('\n') if line: print(line) else: break
打印结果
yang.su shevechco merci
3.readlines()方法,这个方法是一次读取所有文件存在一个list列表中,读取大文件比较消耗内存,但是文件小的话这种方式是最快的
with open('test.log', 'r', encoding='utf-8') as f: line = f.readlines() print(type(line)) for lines in line: print(lines.strip("\n"))
打印结果
<class 'list'> yang.su shevechco merci