python面试题之read、readline和readlines的区别详解
作者:YZL40514131
当python进行文件的读取会遇到三个不同的函数,它们分别是read(),readline(),和readlines(),下面这篇文章主要给大家介绍了关于python面试题之read、readline和readlines区别的相关资料,需要的朋友可以参考下
一、read
可以一次性读取文件中所有内容
1.txt文件内容

🔥语法:
file.read([size])
例1:file.read():会将所有的内容读取出来
with open('1.txt','r') as file:
content=file.read()
print(content)
执行结果:

file.read():是从文件的头部开始读取的。如果想要读取部分内容,可以先使用文件对象的seek()方法将文件的指针移动到新的位置,然后再应用read(size)方法读取。
seek()方法的基本语法格式:
file.seek(offset[,whence])
file:表锁已经打开的文件
offset:用于指定移动的字符个数
whence:用于指定从什么位置开始计算,值为0表示从文件头开始计算,1表示从当前位置开始计算,2表示从文件末尾开始计算,默认为0
例2:读取部分内容
with open('1.txt','r') as file:
file.seek(22)
content=file.read()
print(content)
执行结果:

例3:file.read(size):表示读取size个字符
with open('1.txt','r') as file:
file.seek(22)
content=file.read(10)
print(content)
执行结果:

二、readline
每次读取一行数据
🔥格式:
file.readline()
file:打开的文件对象
例4:file.readline()读取一条数据
with open('1.txt','r') as file:
content=file.readline()
print(content)
执行结果:

例5:通过循环将文件中的数据全部读取出来
with open('1.txt','r') as file:
number=0
while True:
number+=1
content=file.readline()
if content=='':
break
print(number,content,end='\n')
执行结果:

三、readlines
读取全部行,返回的是一个字符串列表,每个元素为文件的一行内容
🔥语法:
file.readlines()
file:打开的文件
例6:读取全部行
with open('1.txt','r') as file:
content=file.readlines()
print(content)
执行结果:

例7:将列表元素逐行输出
with open('1.txt','r') as file:
content=file.readlines()
for index,item in enumerate(content):
print(index,item)
执行结果:

总结
- .read() 每次读取整个文件,它通常将读取到底文件内容放到一个字符串变量中,也就是说 .read() 生成文件内容是一个字符串类型。
- .readline()每只读取文件的一行,通常也是读取到的一行内容放到一个字符串变量中,返回str类型。
- .readlines()每次按行读取整个文件内容,将读取到的内容放到一个列表中,返回list类型。
到此这篇关于python面试题之read、readline和readlines区别的文章就介绍到这了,更多相关python read、readline和readlines区别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
