Python读取文件时使用的内存资源是什么
我很好奇读取文件时使用了什么内存资源。区块存储在哪里?它是堆还是RAMPython读取文件时使用的内存资源是什么,python,Python,我很好奇读取文件时使用了什么内存资源。区块存储在哪里?它是堆还是RAM with open("file.txt", "r") as fd: block = fd.read(64) 内存块(与块变量不同)可能在某个时候存储在RAM中,但不在进程堆中。操作系统会做一些非常复杂的事情(查看信息虚拟内存了解更多信息),为每个进程提供自己的内存部分。操作系统内核也占据了很大的一部分 现在,read是一个系统调用,这意味着处理器将方向盘交给内核来完成它的工作。然后,内核以它想要的任何方式处理从磁盘
with open("file.txt", "r") as fd:
block = fd.read(64)
内存块(与块
变量不同)可能在某个时候存储在RAM中,但不在进程堆中。操作系统会做一些非常复杂的事情(查看信息虚拟内存了解更多信息),为每个进程提供自己的内存部分。操作系统内核也占据了很大的一部分
现在,read
是一个系统调用,这意味着处理器将方向盘交给内核来完成它的工作。然后,内核以它想要的任何方式处理从磁盘到内存的复制,但只有您请求的数据才会存储在进程的内存块中。在您的示例中,内核会以某种方式获取该块,可能会将其存储在RAM中的某个位置(但它也会利用处理器缓存以允许以后更快地访问),但唯一的保证是最多64个字节将存储在堆上的一个变量中(由名称block
指向)