¿Cómo puedo leer la información del sistema en Python en Windows?

Siguiendo esta pregunta independiente del sistema operativo , específicamente esta respuesta , similar a la información disponible de / proc / meminfo en Linux, ¿cómo puedo leer la información del sistema de Windows usando Python (incluido, entre otros, el uso de memoria)?

Se hizo una pregunta similar:

¿Cómo obtener el uso actual de CPU y RAM en Python?

Hay bastantes respuestas que le dicen cómo lograr esto en Windows.

En Windows, si desea obtener información como la del comando SYSTEMINFO, puede usar el módulo WMI.

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

de manera similar, la información relacionada con el sistema osinfo = c.Win32_OperatingSystem()[0] puede obtener de osinfo = c.Win32_OperatingSystem()[0] la lista completa de información del sistema está aquí y la información del sistema osinfo = c.Win32_OperatingSystem()[0] está aquí

Puedes intentar usar el envoltorio systeminfo.exe que creé hace un tiempo, es poco ortodoxo pero parece hacer el truco con bastante facilidad y sin mucho código.

Esto debería funcionar en 2000 / XP / 2003 Server, y debería funcionar en Vista y Win7 siempre que vengan con systeminfo.exe y se encuentren en la ruta.

 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 

Puede agregar fácilmente el rest de los campos de datos a la variable sysOpts, excluyendo aquellos que proporcionan múltiples líneas para sus resultados, como información de CPU y NIC. Un simple mod para la línea de expresión regular debería ser capaz de manejar eso.

¡Disfrutar!