这真的对我也没有任何意义,我想知道如何/为什么会发生这种情况. (我以为这应该也是这样工作!)我把它复制到我的机器上 – 尽管有一个较小的文件.
我在这里看到两个离散的问题
>为什么Python将文件读入内存(用懒惰的行读,不应该 – 对吗?)
>为什么Python不释放内存到系统
我根本就不了解Python内部的知识,所以我做了大量的网页搜索.所有这一切都可以完全脱离标准. (我几乎没有发展,过去几年一直在技术的边缘)
懒惰线阅读…
我环顾四周,发现这个帖子 –
这是从早期版本的python,但这条线与我共鸣:
readlines() reads in the whole file at once and splits it by line.
然后我看到这个,也是老,effbot的帖子:
这是关键的一部分:
For example, if you have enough memory, you can slurp the entire file into memory, using the readlines method.
和这个:
In Python 2.2 and later, you can loop over the file object itself. This works pretty much like readlines(N) under the covers, but looks much better
This method returns the same thing as iter(f)
Deprecated since version 2.3: Use for line in file instead.
这让我想到,也许有些尴尬事情正在发生.
Read until EOF using readline() and return a list containing th

本文探讨了Python在读取文件时为何会将文件内容加载到内存以及如何进行内存释放。通过示例代码展示了使用`readline()`方法代替`readlines()`可以减少内存消耗,并解释了Python内存管理的原理,包括Python进程如何处理大对象和小对象的内存回收。文章指出,在某些情况下,即使对象被删除,内存可能不会立即返回给操作系统,但Python的改进允许在某些条件下将内存返回给系统。
最低0.47元/天 解锁文章
3295

被折叠的 条评论
为什么被折叠?



