经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Python » 查看文章
python面试题之read、readline和readlines的区别详解
来源:jb51  时间:2022/7/25 17:15:59  对本文有异议

一、read

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

1.txt文件内容

??语法:

file.read([size])

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

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

执行结果:

file.read():是从文件的头部开始读取的。如果想要读取部分内容,可以先使用文件对象的seek()方法将文件的指针移动到新的位置,然后再应用read(size)方法读取。

seek()方法的基本语法格式:

file.seek(offset[,whence])
file:表锁已经打开的文件
offset:用于指定移动的字符个数
whence:用于指定从什么位置开始计算,值为0表示从文件头开始计算,1表示从当前位置开始计算,2表示从文件末尾开始计算,默认为0

例2:读取部分内容

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

执行结果:

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

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

执行结果:

二、readline

每次读取一行数据

??格式:

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

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

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

执行结果:

例5:通过循环将文件中的数据全部读取出来

  1. with open('1.txt','r') as file:
  2. number=0
  3. while True:
  4. number+=1
  5. content=file.readline()
  6. if content=='':
  7. break
  8. print(number,content,end='\n')

执行结果:

三、readlines

读取全部行,返回的是一个字符串列表,每个元素为文件的一行内容

??语法:

file.readlines()
file:打开的文件

例6:读取全部行

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

执行结果:

例7:将列表元素逐行输出

  1. with open('1.txt','r') as file:
  2. content=file.readlines()
  3. for index,item in enumerate(content):
  4. print(index,item)

执行结果:

总结

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

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

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号