Python 第二次如何更快地读取这个二进制文件?

pst*_*tix 0 python io python-internals

我正在探索读取格式化二进制文件的方法,并从基础开始:

>>> with open(fp, 'rb') as f:
        buffer = f.read()
Run Code Online (Sandbox Code Playgroud)

我的文件是 1.02GB,第一次读取它并存储在内存中需要大约 90 秒。偶然地,我不小心告诉解释器再次读取文件(按 Enter 太多次),它在 0.5 秒内读取了它。该文件在无意中重新阅读之前已关闭。

这里发生了什么?

小智 5

很可能文件数据已被缓存并且仍在内存中。大多数操作系统会将数据保留在内存中一段时间​​,以备再次请求时使用。