python - 如何获得列表所需的实际内存大小?
问题描述
我有一个非常大的文件,其大小可能会有所不同。它具有以下形式的条目:nnnn,yyyy-mm-dd,xx.xxxx
其中,nnnn
是整数、yyyy-mm-dd
年、月和日,以及xx.xxxx
浮点数。的大小nnnn
可以从单个数字到 > 9 不等,最重要的是,所有条目都必须保存在内存中的列表中。每个列表元素都是一个形式为 的元组('nnnn','yyyy-mm-dd','xx.xxxx')
。我需要先验地知道我的内存可以处理多大的列表。
是否有任何 python 工具可以给出这个列表的实际内存大小(以字节为单位),因为从每一行创建的元组都附加到它上面?
请运行以下代码,很明显 sys.getsizeof() 并没有给出实际占用的内存大小——至少对于 python 3.6.5
import sys
tuple1 = ('1234','2019-04-27','23.4658')
tuple2 = ('1563','2019-04-27','19.2468')
klist1 = [tuple1]
klist2 = [tuple1,tuple2]
print (sys.getsizeof(klist1))
print (sys.getsizeof(klist2))
解决方案
推荐阅读
- html - Bootstrap 5 下拉切换器无法正常工作
- c++ - 为什么空的虚拟基类的大小不是 1 字节?
- android - 如何在不设置 AOSP 的情况下从源代码构建 adb?
- python - python tkinter,如何获取根/笔记本/框架中的元素?
- c - 为什么在fork()之后共享全局变量?
- python - 如何仅针对少数元素评估列表的总和
- php - 如何在 PHP wordpress 中放置“拨打电话”按钮?
- sql - 如何在 SQL Server 中使用 STUFF 函数获取值
- python - 如何解决“导入'mplfinance'无法解决'”?
- flutter - Flutter 上的三态切换按钮