Как получить информацию о системе с Python?

Вопрос:

Мне нужно получить информацию о том, в какой среде работает программное обеспечение.
Есть ли у python библиотека для этой цели?

Я хочу знать следующую информацию.

  • Название/версия ОС
  • Название процессора, тактовая частота
  • Число ядер процессора
  • Размер памяти
Лучший ответ:

некоторые из них могут быть получены из модуля platform:

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

Ответ №1

os module имеет функцию uname для получения информации о os и версии:

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

Для моей системы, запускающей CentOS 5.4 с ядром 2.6.18, это возвращает:

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

Ответ №2
Ответ №3
#Shamelessly combined from google and other stackoverflow like sites to form a single function

import platform,socket,re,uuid,json,psutil

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

getSystemInfo()

Output sample:

'{
"platform": "Windows",
"platform-release": "10",
"platform-version": "10.0.18362",
"architecture": "AMD64",
"hostname": "test-user",
"ip-address": "192.168.31.147",
"mac-address": "xx:xx:xx:xx:xx:xx",
"processor": "Intel64 Family 6 Model 142 Stepping 10,GenuineIntel",
"ram": "8 GB"
}'

Оцените статью
TechArks.Ru
Добавить комментарий