Как я могу прочитать системную информацию в Python на Windows? - PullRequest
1 голос
/ 22 января 2009

Исходя из этого не зависящего от ОС вопроса , в частности этого ответа , аналогично данным, доступным в / proc / meminfo для Linux, как я могу прочитать системную информацию из Windows использование Python (включая, но не ограничиваясь использованием памяти).

Ответы [ 3 ]

4 голосов
/ 03 августа 2012

В Windows, если вы хотите получить информацию, подобную команде SYSTEMINFO, вы можете использовать модуль WMI.

import wmi

c = wmi.WMI()    
systeminfo = c.Win32_ComputerSystem()[0]

Manufacturer = systeminfo.Manufacturer
Model = systeminfo.Model

...

аналогично, информация о OS может быть получена из osinfo = c.Win32_OperatingSystem()[0] полный список системной информации здесь и os информации здесь

2 голосов
/ 03 января 2010

Вы можете попробовать использовать упаковку systeminfo.exe, которую я создал некоторое время назад, это немного неортодоксально, но, кажется, делает это достаточно легко и без большого количества кода.

Это должно работать на 2000 / XP / 2003 Server и должно работать на Vista и Win7 при условии, что они поставляются с systeminfo.exe и оно находится по пути.

import os, re

def SysInfo():
    values  = {}
    cache   = os.popen2("SYSTEMINFO")
    source  = cache[1].read()
    sysOpts = ["Host Name", "OS Name", "OS Version", "Product ID", "System Manufacturer", "System Model", "System type", "BIOS Version", "Domain", "Windows Directory", "Total Physical Memory", "Available Physical Memory", "Logon Server"]

    for opt in sysOpts:
        values[opt] = [item.strip() for item in re.findall("%s:\w*(.*?)\n" % (opt), source, re.IGNORECASE)][0]
    return values

Вы можете легко добавить остальные поля данных в переменную sysOpts, исключая те, которые предоставляют несколько строк для своих результатов, например информацию о процессорах и сетевых картах. Простой мод для строки регулярного выражения должен быть в состоянии справиться с этим.

Наслаждайтесь!

1 голос
/ 22 января 2009

Был задан похожий вопрос:

Как узнать текущее использование процессора и оперативной памяти в Python?

Существует довольно много ответов о том, как этого добиться в Windows.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...