如何阅读_io.TextIOWrapper多次



我有下面的代码:

>>> from pathlib import Path
>>> path = Path(r"C:Usersslashtest.txt")
>>> f = path.open(encoding="utf-8")
>>> f
<_io.TextIOWrapper name="C:\Users\slash\test.txt" mode='r' encoding='utf-8'>
>>> f.read()
'Test line 1nTest line 2nTest line 3n'
>>> f.read()
''

你们能向我解释一下这里的行为吗?看起来TextIOWrapper只能读一次?

有没有时间多次阅读直到我写完?

谢谢。

>>> from pathlib import Path
>>> path = Path(r"C:Usersslashtest.txt")
>>> f = path.open(encoding="utf-8")
>>> f
<_io.TextIOWrapper name="C:\Users\slash\test.txt" mode='r' encoding='utf-8'>
>>> f.read()
'Test line 1nTest line 2nTest line 3n'
>>> f.read()
''

我在等你。TextIOWrapper可以多次读取

>>> f.read()
'Test line 1nTest line 2nTest line 3n'
>>> f.read()
''

假设您的f对象只是一个光标。一旦光标结束了对文件的读取,您就必须将其重新读取到开头。

您可以使用带有参数(0, 0)的方法seek来执行此操作。

>>> f.read()
'Test line 1nTest line 2nTest line 3n'
>>> f.seek(0,0)
>>> f.read()
'Test line 1nTest line 2nTest line 3n'

相关内容

  • 没有找到相关文章

最新更新