python面试题之read、readline和readlines的区别详解

一、read

可以一次性读取文件中所有内容

1.txt文件内容

python面试题之read、readline和readlines的区别详解_第1张图片

语法:

file.read([size])

例1:file.read():会将所有的内容读取出来

with open('1.txt','r') as file:
    content=file.read()
    print(content)

执行结果:

python面试题之read、readline和readlines的区别详解_第2张图片

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)

执行结果:

python面试题之read、readline和readlines的区别详解_第3张图片

例3:file.read(size):表示读取size个字符

with open('1.txt','r') as file:
    file.seek(22)
    content=file.read(10)
    print(content)

执行结果:

python面试题之read、readline和readlines的区别详解_第4张图片

二、readline

每次读取一行数据

格式:

file.readline()
file:打开的文件对象

例4:file.readline()读取一条数据

with open('1.txt','r') as file:
    content=file.readline()
    print(content)

执行结果:

python面试题之read、readline和readlines的区别详解_第5张图片

例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')

执行结果:

python面试题之read、readline和readlines的区别详解_第6张图片

三、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)

执行结果:

python面试题之read、readline和readlines的区别详解_第7张图片

总结

  1. .read() 每次读取整个文件,它通常将读取到底文件内容放到一个字符串变量中,也就是说 .read() 生成文件内容是一个字符串类型。
  2. .readline()每只读取文件的一行,通常也是读取到的一行内容放到一个字符串变量中,返回str类型。
  3. .readlines()每次按行读取整个文件内容,将读取到的内容放到一个列表中,返回list类型。

到此这篇关于python面试题之read、readline和readlines区别的文章就介绍到这了,更多相关python read、readline和readlines区别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(python面试题之read、readline和readlines的区别详解)