gpt4 book ai didi

带有 os.SEEK_CUR 与 os.SEEK_SET 的 python file.seek()

转载 作者:太空宇宙 更新时间:2023-11-03 14:26:32 34 4
gpt4 key购买 nike

这两者有什么区别吗?

答:

# seek back by difference from current position
fp.seek(last_read_byte - fp.tell(), os.SEEK_CUR)

乙:

# seek by absolute position from start of the file
fp.seek(last_read_byte)

(fp是一个python文件对象)

我只是认为B) 可能会从头开始读取文件。我如何检查是否是这种情况?
我应该担心这样的愚蠢的事情吗?

最佳答案

调用 seek 不会从头重新读取整个文件。

而且我会使用绝对搜索——正确和阅读更简单;它不会浪费额外的可能系统调用来进行提示;如果文件在调用之间更改,则它没有竞争条件...

如果您担心性能,那么测试性能不仅更有用,而且更容易,而不是尝试猜测它是如何工作的,然后再尝试猜测性能影响是什么。只需创建一个大文件,然后在 timeit 内尝试两个版本。

关于带有 os.SEEK_CUR 与 os.SEEK_SET 的 python file.seek(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19471618/

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