Python:计算机内存信息

Python : Computer Memory Information

我写了一个函数来获取我电脑的内存。但我认为这不是获得它的最佳方式。

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())