python如何释放内存_如何在Python中打开文件后释放内存

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

这真的对我也没有任何意义,我想知道如何/为什么会发生这种情况. (我以为这应该也是这样工作!)我把它复制到我的机器上 – 尽管有一个较小的文件.

我在这里看到两个离散的问题

>为什么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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值