Python读取文件时使用什么内存资源

标签 python

我很好奇读取文件时使用的是什么内存资源。 block 存储在哪里?是堆还是 RAM?

with open("file.txt", "r") as fd:
    block = fd.read(64)

最佳答案

内存块(与block 变量不同)可能在某个时候存储在 RAM 中,但不在您的进程堆中。操作系统做了一些非常复杂的事情(查看虚拟内存信息以获得更多相关信息)来为每个进程提供自己的内存部分。 OS内核也占了很大一部分。

现在,read 是一个系统调用,这意味着您的处理器将方向盘交给内核来完成它的工作。然后内核以任何它想要的方式处理从磁盘到内存的复制,但只有您请求的数据才会存储在进程的内存块中。在你的例子中,内核会以某种方式获取 block ,可能将它存储在 RAM 中的某个地方(但它也会利用处理器缓存以允许以后更快地访问),但唯一的保证是最多 64它的字节将存储在堆上的一个变量中(由名称 block 指向)。

关于Python读取文件时使用什么内存资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51995139/

相关文章:

Python Tkinter 更改某些文本范围的文本背景

Python:openpyxl 将单元格填充更改为 'none' 并将边框更改为 'none'

python - 如何将 2d numpy 数组转换为最大值的二进制指示矩阵

python - Keras不训练整个数据集

python - Kivy Python 鼠标位置

python - 如何用 python 绘制 x y 线图?

python - 如果迭代器为空,Python迭代器中下一个元素的默认值?

python - Python 中是否需要返回单元测试?

python - 在 Python 中嵌入低性能脚本语言

python - 无法绘制图表 : matplotlib is needed for plotting