Python中open一个文件后,不能同时使用read()和readlines()方法如何解决

img

file=open(r'D:\test.txt’, 'r')
try:
  print(file.read())
  print(file.readlines())
finally:
  file.close()
   
hello
everyone
XXXXX
[]

open一个文件后,不能同时使用read方法和readlines方法,百度说的是文件流被占用了,是这么一回事吗?
如何不打开两次文件的情况下,同时使用两种方法

增加file.seek(0)
如下图可成功读取:

img

file = open(r'images/1.txt', 'r')
try:
    print(file.read())
    file.seek(0)
    print(file.readlines())
finally:
    file.close()

file=open(r'D:\test.txt’, 'r')
try:
  print(file.read())
  file.seek(0)
  print(file.readlines())
finally:
  file.close()
hello
everyone
XXXXX
[]

这个设计到指针思想,也可以理解为鼠标光标。python读取内容,读到哪,光标就到哪。你第一个read后,读完了,光标在最后。你在读,就是空了。要么用seek把光标重新定到初始,要么文件close一次再读