一个不是作品的作品
看小甲鱼老师教程的时候注意到了有id()这个大小,id代表着内存地址。我想起了有一款app,就是通过挤满内存的方式,来测内存的。
我照着上面的思路写出了,下面的代码。import sys
import random as r
zz = sys.maxsize
sys.setrecursionlimit(2099999999)
zz = zz*zz
var = 1
c =
def ff():
while True:
try:
while var == 1:
for a in c:
print(id(a))
c.append(r.randint(-99223372036854775807,zz))
except:
ff()
ff()
最后一个输出如下
140327462591008
按照理论来说可以通过这串数字可以大概得出内存大小,因为本人能力,原因,无法得出结论,如果有鱼油有相关知识可以与我一起交流。
最后还报错了,看看有没有有鱼油可以帮我解决这个问题
run: line 1: 3 Killed /usr/local/python-3.8.1/bin/python3 script.py
Exited with error status 137
PS:本人发现因为有random函数的原因最后输出值不一定,如果有鱼油有解决的办法可以告诉我,让我解决这个问题。@python爱好者. import sys
import random as r
num = sys.maxsize #获取变量列表等容器的 最大储存空间(元素个数)
c = #创建一个 '不重复' 且为 '列表元素最大限制内尽可能多' 的列表
print(id(c[-1])) #打印最后一个元素的内存地址
python爱好者. 发表于 2022-7-15 18:44
我猜你的意思是:
再创建一个 Python 最大限制且不重复的列表后,再通过列表最后一个元素的内存地址算出电脑内存....
但我觉得:
这样算出来的结果只是 Python 中一个列表最大占用的内存.......吧...... python爱好者. 发表于 2022-7-15 18:47
我猜你的意思是:
但我觉得:
所以说应该不能用占 "列表等容器" 来计算电脑内存......吧....{:10_256:} 应用程序有自己的内存空间,你的代码用来测试整个电脑的内存,显然是不现实的 python爱好者. 发表于 2022-7-15 18:50
所以说应该不能用占 "列表等容器" 来计算电脑内存......吧....
这个问题几乎无解,如果占满了一个容器重开一个容器的话就原来的那个容器就会被释放。
页:
[1]