gpt4 book ai didi

python - 如何在不更新光标的情况下读取文件?

转载 作者:行者123 更新时间:2023-11-30 22:04:41 24 4
gpt4 key购买 nike

我有一个简单的 python 文件:f = open('example.txt, 'r')

如何在不更新光标的情况下阅读它:

示例:f 内容“1234”

给定以下脚本:

print f.read(1)
print f.read(1)

它将打印:12。如何让它打印11

最佳答案

您可以使用f.seek(0)

演示:

>>> from io import StringIO
>>> s = StringIO('1234')
>>> s.read(1)
>>> '1'
>>> s.seek(0)
>>> 0
>>> s.read(1)
>>> '1'

If I want to "reset" only certain reads, how can I do it?

我不完全确定你在问什么。

您可以使用s.tell()获取当前位置,因此s.seek(s.tell() - 1)
可以这么说,“重置一个read(1)”。

>>> s = StringIO('1234')
>>> s.read(1)
>>> '1'
>>> s.read(1)
>>> '2'
>>> s.read(1)
>>> '3'
>>> s.seek(s.tell() - 1)
>>> 2
>>> s.read(1)
>>> '3'

I want a function read(file, count, modify_cursor=False)

>>> s = StringIO('abcdefghijk')
>>>
>>> def read(file, count, modify_cursor=False):
...: here = file.tell()
...: content = file.read(count)
...: if not modify_cursor:
...: file.seek(here)
...: return content
...:
>>> read(s, 3)
>>> 'abc'
>>> read(s, 3)
>>> 'abc'
>>> read(s, 3, modify_cursor=True)
>>> 'abc'
>>> read(s, 1)
>>> 'd'
>>> read(s, 1000)
>>> 'defghijk'
>>> read(s, 1)
>>> 'd'

关于python - 如何在不更新光标的情况下读取文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53214576/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com