如何使用Python获取系统信息?

问题描述 投票:33回答:3

我需要在软件运行的环境下获取信息。python是否有用于此目的的库?

我想知道以下信息。

  • 操作系统名称/版本
  • CPU名称,时钟速度
  • CPU核心数
  • 内存大小
python system-information
3个回答
60
投票

其中一些可以从platform模块中获得:

platform

7
投票

>>> import platform >>> platform.machine() 'x86' >>> platform.version() '5.1.2600' >>> platform.platform() 'Windows-XP-5.1.2600-SP2' >>> platform.uname() ('Windows', 'name', 'XP', '5.1.2600', 'x86', 'x86 Family 6 Model 15 Stepping 6, GenuineIntel') >>> platform.system() 'Windows' >>> platform.processor() 'x86 Family 6 Model 15 Stepping 6, GenuineIntel' 具有uname函数来获取有关os和版本的信息:

os module

对于我的系统,使用2.6.18内核运行CentOS 5.4,将返回:

(('Linux','mycomputer.domain.user','2.6.18-92.1.22.el5PAE','#1 SMP Tue12月16日12:36:25 EST 2008','i686')


0
投票

从Google和其他类似stackoverflow的网站无耻地组合在一起,形成一个单一的功能

>>> import os
>>> os.uname()

输出样本:

import platform,socket,re,uuid,json

def getSystemInfo():
    try:
        info={}
        info['platform']=platform.system()
        info['platform-release']=platform.release()
        info['platform-version']=platform.version()
        info['architecture']=platform.machine()
        info['hostname']=socket.gethostname()
        info['ip-address']=socket.gethostbyname(socket.gethostname())
        info['mac-address']=':'.join(re.findall('..', '%012x' % uuid.getnode()))
        return json.dumps(info)
    except Exception as e:
        logging.exception(e)

getSystemInfo()
© www.soinside.com 2019 - 2024. All rights reserved.