我写了一个功能以获取我的PC内存。但是我认为这不是获得它的最佳方法。
def MEMORY():
mem = psutil.virtual_memory()
MEMORYlist = []
for m in mem:
if m > 100 :
MEMORYlist.append( str(round(m/1073741824, 3)) + "Gb" )
else :
MEMORYlist.append( str(m) + "%")
return MEMORYlist
结果看起来像这样:
['15.804Gb', '11.303Gb', '28.5%', '4.502Gb', '11.303Gb']
我想知道有一种更好的方法来获得相同的结果。谢谢
为什么您要在mem
上迭代?这是一个对象,其中可能需要所有信息。您只需要做类似的事情:
import psutil
def get_memory_info():
mem = psutil.virtual_memory()
def bytes_to_gb(amount):
return round(amount / 1e+9, 2)
data = {"total": bytes_to_gb(mem.total),
"used": bytes_to_gb(mem.used),
"available": bytes_to_gb(mem.available),
"percent": mem.percent
# Add here whatever data you need
}
return data
print(get_memory_info())