How to get the system info with Python? How to get the system info with Python? python python

How to get the system info with Python?


some of these could be obtained from the platform module:

>>> 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'


#Shamelessly combined from google and other stackoverflow like sites to form a single functionimport platform,socket,re,uuid,json,psutil,loggingdef 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()))        info['processor']=platform.processor()        info['ram']=str(round(psutil.virtual_memory().total / (1024.0 **3)))+" GB"        return json.dumps(info)    except Exception as e:        logging.exception(e)json.loads(getSystemInfo())

Output Sample:

{ 'platform': 'Linux', 'platform-release': '5.3.0-29-generic', 'platform-version': '#31-Ubuntu SMP Fri Jan 17 17:27:26 UTC 2020', 'architecture': 'x86_64', 'hostname': 'naret-vm', 'ip-address': '127.0.1.1', 'mac-address': 'bb:cc:dd:ee:bc:ff', 'processor': 'x86_64', 'ram': '4 GB'}


The os module has the uname function to get information about the os & version:

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

For my system, running CentOS 5.4 with 2.6.18 kernel this returns:

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