Python est un langage de programmation polyvalent relativement simple à apprendre. Python est souvent utilisé pour le développement Web, l’analyse de données, etc. C’est pourquoi il est important de pouvoir recueillir des informations sur votre ordinateur et votre matériel. Voici un guide des informations sur le système et le matériel en Python.

Pourquoi avons-nous besoin d’informations sur le système et le matériel ?

Il existe de nombreuses raisons pour lesquelles nous pouvons avoir besoin d’informations sur le système et le matériel en Python. Par exemple, nous pouvons avoir besoin de :

  • Si nous voulions obtenir des informations sur un système informatique à des fins de dépannage, nous pourrions utiliser un tel outil pour nous aider à identifier le problème.
  • Si nous développions une nouvelle application ou un nouveau système, nous pourrions utiliser un outil d’information sur les systèmes pour nous aider à comprendre le fonctionnement du système et ses capacités.
  • Les outils d’information sur le système peuvent être utilisés pour les tâches d’administration du système, comme la gestion des comptes d’utilisateurs ou le contrôle des performances du système.
  • Vérifier si un matériel particulier est présent et surveiller les conditions environnementales telles que la température ou l’humidité.

Ce n’est qu’un petit échantillon des possibilités – les informations sur le système et le matériel peuvent être extrêmement utiles dans une grande variété d’applications. Python permet d’accéder facilement à ces informations, ce qui en fait un excellent choix pour travailler avec des données système et matérielles.

Conditions préalables :

Pour afficher des informations sur le matériel en python, nous aurons besoin de quatre modules différents. Trois d’entre eux seront externes et l’un d’entre eux est le module python de base.

Psutil : Psutil est un module python qui fournit une interface pour récupérer des informations sur les processus en cours et l’utilisation du système (CPU, mémoire, disques, réseau) d’une manière facile à utiliser. Il est utile pour surveiller les performances du système et pour le débogage.

Le module est multiplateforme et fonctionne sous Windows, Linux et OS X. Il est écrit en pur python et n’a pas de dépendances. Pour installer psutil, utilisez la commande suivante dans votre invite de commande.

pip install psutil

cpuinfo : Le module cpuinfo en python est un module qui vous permet d’obtenir des informations sur le CPU de votre système. Ce module est conçu pour fonctionner avec le noyau Linux, et il fournit un certain nombre de fonctionnalités qui vous permettent d’obtenir des informations sur votre CPU. Par exemple, vous pouvez utiliser ce module pour obtenir des informations sur le nombre de CPU sur votre système, le type de CPU, la vitesse du CPU, et la quantité de mémoire dont dispose le CPU. Pour installer cpuinfo, utilisez la commande suivante dans votre invite de commande.

Pip install py-cpuinfo

Wmi : Le module wmi est une interface Python pour le cadre Windows Management Instrumentation (WMI). WMI est une technologie Microsoft qui fournit des informations sur le système et le matériel aux utilisateurs autorisés. Le module wmi permet aux scripts Python de se connecter à WMI et de récupérer des informations sur le système et son matériel. Le module wmi ne fonctionne que sur le système Windows. Pour installer wmi, utilisez la commande suivante dans votre invite de commande.

Pip install wmi

Plate-forme : Le module platform de Python permet d’accéder à diverses fonctionnalités spécifiques à la plate-forme. Par exemple, il peut être utilisé pour déterminer le système d’exploitation utilisé, l’architecture du processeur et la locale du système. En outre, le module de plate-forme peut être utilisé pour détecter si un interpréteur Python donné fonctionne dans un environnement virtuel. Vous n’avez pas besoin d’installer le module wmi car il s’agit d’une bibliothèque python de base.

Code:

Module de plate-forme :

Obtenir l’architecture, le nom du réseau et le système d’exploitation de la machine à l’aide du module de plateforme.

import platform
print(f"Architecture: {platform.architecture()}")
print(f"Network Name: {platform.node()}")
print(f"Operating system: {platform.platform()}")
print(f"Processor: {platform.processor()}")

Sortie :

module cpuinfo :

Obtenir des informations sur le CPU à l’aide du module cup info

import cpuinfo
my_cpuinfo = cpuinfo.get_cpu_info()
print(my_cpuinfo)

Sortie :

Comme vous pouvez le voir, il s’agit d’un dictionnaire auquel vous pouvez accéder pour obtenir des informations. Par exemple, pour obtenir la marque du CPU, nous devons utiliser la clé brand_raw.

import cpuinfo
my_cpuinfo = cpuinfo.get_cpu_info()
print(f"Full CPU Name: {my_cpuinfo['brand_raw']}")

Sortie :

Full CPU Name: AMD Ryzen 5 5500U with Radeon Graphics

De la même manière, vous pouvez accéder à n’importe quelle information du dictionnaire en utilisant la clé 

print(f"CPU architecture: {my_cpuinfo['arch']}")

Sortie :

CPU architecture: X86_64

Module Psutil :

Affiche la mémoire vive totale du système :

import psutilprint(f"Total RAM: {psutil.virtual_memory().total / 1024 / 1024 / 1024:.2f} GB")

Sortie :

Total RAM: 7.36 GB

Afficher les cœurs et la fréquence du CPU

import psutil

#Number of physical cores
print(f"Number of physical cores: {psutil.cpu_count(logical=False)}")
#Number of logical cores
print(f"Number of logical cores: {psutil.cpu_count(logical=True)}")
#Current frequency
print(f"Current CPU frequency: {psutil.cpu_freq().current}")
#Min frequency
print(f"Min CPU frequency: {psutil.cpu_freq().min}")
#Max frequency
print(f"Max CPU frequency: {psutil.cpu_freq().max}")

Sortie :

Module Wmi :

Obtenir les informations sur le GPU

import wmi
pc = wmi.WMI()
print(pc.Win32_VideoController()[0])

Sortie :

Note : vous devez toujours spécifier un nom de fonction.

Vous pouvez également obtenir des informations sur le processeur et le système d’exploitation de manière plus détaillée en utilisant wmi. 

import wmi
pc = wmi.WMI()
os_info = pc.Win32_operatingSystem()[0]
print(os_info)
print(pc.Win32_Processor()[0])

Sortie :

Vous ne pouvez obtenir que le nom du GPU, du CPU ou du système d’exploitation comme ceci.

import wmi
pc = wmi.WMI()

print(pc.Win32_Processor()[0].name)
print(pc.Win32_VideoController()[0].name)

Sortie :

Vérifiez l’utilisation du CPU et de la RAM :

import psutil

#CPU utilization
print(f"CPU utilization: {psutil.cpu_percent(interval=1)}")
#CPU utilization of every core
print(f"CPU utilization of every core: {psutil.cpu_percent(interval=1, percpu=True)}")

#Total RAM
print(f"Total RAM installed: {round(psutil.virtual_memory().total/1000000000, 2)} GB")
#Available RAM
print(f"Available RAM: {round(psutil.virtual_memory().available/1000000000, 2)} GB")
#Used RAM
print(f"Used RAM: {round(psutil.virtual_memory().used/1000000000, 2)} GB")
#RAM usage
print(f"RAM usage in %: {psutil.virtual_memory().percent}%")

Sortie :

Conclusion:

Python fournit un large éventail d’outils permettant d’interagir avec les informations relatives au système et au matériel. Cela en fait un choix idéal pour automatiser les tâches nécessitant la collecte de ce type de données. Dans cet article, nous avons abordé certains des outils les plus couramment utilisés à cette fin.

Vous pouvez utiliser ces outils pour construire un simple script python qui affiche les informations de base du système, ou vous pouvez construire une application en ligne de commande ou une application GUI autour de lui afin de pouvoir l’utiliser sur n’importe quel système pour obtenir rapidement des informations sur le système et le matériel. Si vous avez d’autres questions, n’hésitez pas à nous contacter.