Python:计算机内存信息

时间:2018-02-27 16:48:53

标签: python python-2.7 python-2.x

我写了一个函数来获取我的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']

我想知道是否有更好的方法来获得相同的结果。感谢

1 个答案:

答案 0 :(得分:0)

为什么要迭代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())