Python:计算机内存信息



我写了一个功能以获取我的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())