相关疑难解决方法(0)

Python删除字典中的项目后回收内存

我在Python中有一个相对较大的字典,并希望不仅能够从中删除项目,而且实际上从我的程序中的这些删除中回收内存.我正在遇到一个问题,虽然我从字典中删除项目甚至手动运行垃圾收集器,但Python似乎并没有释放内存本身.

一个简单的例子:

>>> tupdict = {}
# consumes around 2 GB of memory
>>> for i in xrange(12500000):
...   tupdict[i] = (i,i)
... 
# delete over half the entries, no drop in consumed memory
>>> for i in xrange(7500000):
...   del tupdict[i]
... 
>>> import gc
# manually garbage collect, still no drop in consumed memory after this
>>> gc.collect()
0
>>> 
Run Code Online (Sandbox Code Playgroud)

我想现在发生的事情是,尽管条目被删除并且垃圾收集器运行,但Python不会继续并调整字典大小.我的问题是,有没有简单的方法,或者我可能需要更严肃地重新考虑我如何编写我的程序?

python memory-management

11
推荐指数
2
解决办法
5830
查看次数

在python中使用套接字的HTTP基本身份验证

如何使用python中的基本http auth thru套接字连接到服务器.我不想使用urllib/urllib2等,因为我的程序执行一些低级套接字I/O操作

python sockets networking basic-authentication

4
推荐指数
1
解决办法
6320
查看次数