在Python中获取当前系统状态(当前CPU,RAM,可用磁盘空间等)的首选方式是什么?* nix和Windows平台的奖励积分。
似乎有几种方法可以从我的搜索中提取出来:
os.popen("ps")
MEMORYSTATUSin ctypes.windll.kernel32
ActiveState
并不是说这些方法不好,而是已经有一种受支持的,跨平台的方法来做同样的事情?
psutil库将为你提供各种平台上的一些系统信息(CPU /内存使用情况):
psutil是一个模块,提供了一个接口,该接口通过使用Python以可移植的方式检索有关正在运行的进程和系统利用率(CPU,内存)的信息,实现了ps,top和Windows任务管理器等工具提供的许多功能。
它当前支持32位和64位体系结构的Linux,Windows,OSX,Sun Solaris,FreeBSD,OpenBSD和NetBSD,Python版本从2.6到3.5(Python 2.4和2.5的用户可以使用2.1.3版本)。
更新:这是一些示例用法psutil:
psutil
#!/usr/bin/env python import psutil # gives a single float value psutil.cpu_percent() # gives an object with many fields psutil.virtual_memory() # you can convert that object to a dictionary dict(psutil.virtual_memory()._asdict())