(7-07)文件对象的readline、readlines和seek方法

僤鯓⒐⒋嵵緔 提交于 2019-12-27 04:40:44

1.readline方法

  • 使用文件对象的readline方法可以从文件中每次读取一行数据,其语法格式为:
f.readline()

其中,f是open函数返回的文件对象。
readline方法将从文件中读取的一行数据返回。
  • eg:
ls=[]
with open('D:\\Py\\test.txt','r') as f:
	ls.append(f.readline())#第一行数据
	ls.append(f.readline())#第二行数据
print(ls)

结果:
['Python是一门流行的编程语言!\n','我喜欢学习Python语言']

2.readlines方法

  • 使用文件对象的readlines方法可以从文件中按行读取所有数据,其语法格式为:
f.readlines()

其中,f是open函数返回的文件对象。
readlines方法将从文件中按行读取的所有数据以列表形式返回。
  • eg:
with open('D:\\Py\\test.txt','r') as f:
	ls=f.readlines()
print(ls)

结果:
['Python是一门流行的编程语言!\n','我喜欢学习Python语言']
  • 使用list函数也可以得到readlines方法同样的结果。
    例如,对于第2行代码,将其改为“ls=list(f)”,最后运行结果相同。

3.seek方法

-使用seek方法可以移动文件指针,从而实现文件的随机读写,其语法格式为:

f.seek(pos, whence=0)

其中,f是open函数返回的文件对象;pos是要移动的字节数;
whence是参照位置,默认值0表示以文件首作为参照位置,12分别表示以
当前文件指针位置和文件尾作为参照位置。
seek方法没有返回值。
  • eg:
with open('D:\\Py\\test.txt','r') as f:
	f.seek(6,0)
	print(f.readline())

结果:
是一门流行的编程语言!

4.文件的顺序读写和随机读写

  • 文件的顺序读写是指打开文件后,按照从前向后的顺序依次进行数据的读/写操作;

  • 随机读写可以直接使文件指针指向某个位置,并对该位置的数据进行读/写操作,即读/写数据的位置不按固定顺序、可以随机指定

  • 对于seek而言:
    (1)当以文本方式打开文件后,只支持以文件首作为参照位置进行文件指针的移动;
    (2)而以二进制方式打开文件后,可以支持全部的三种参照位置。
    通过seek方法实现的文件随机读写主要用于二进制文件,建议尽量不对文本文件进行随机读写。
    与seek对应的还有一个tell方法,其用于获取当前文件指针的位置。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!