Obtenir toutes les informations système avec platform.uname() en Python

1. À propos de platform.uname() en Python

Le module standard platform de Python fournit différentes fonctions permettant d'obtenir des informations sur le système d'exploitation et la machine sur laquelle un programme est exécuté.

La fonction platform.uname() est particulièrement intéressante, car elle regroupe plusieurs informations système dans un seul résultat. Elle permet notamment d'obtenir le nom du système, le nom de la machine sur le réseau, la version du système, sa release, le type de machine et des informations sur le processeur.

Le module platform appartient à la bibliothèque standard de Python. Il n'est donc pas nécessaire d'installer un paquet supplémentaire. Il suffit de l'importer.

Sortie :

La fonction platform.uname() est notamment utile dans les programmes de diagnostic système, les scripts d'administration et les applications devant connaître certaines caractéristiques de leur environnement d'exécution.

2. Obtenir toutes les informations système avec platform.uname()

La manière la plus simple d'utiliser platform.uname() consiste à appeler directement la fonction puis à afficher le résultat retourné.

Sortie possible sous Windows :

Le résultat exact dépend de la machine, du système d'exploitation et de sa version. Il peut donc être différent d'un ordinateur à un autre.

Le résultat retourné par platform.uname() peut être conservé dans une variable afin d'accéder ensuite séparément à ses différentes informations.

Sortie possible :

Selon la version de Python et la plateforme, la représentation affichée peut varier. En particulier, certaines informations disponibles comme attributs ne sont pas nécessairement visibles directement dans la représentation textuelle du résultat.

3. Comprendre les informations retournées par platform.uname()

Le résultat retourné par platform.uname() fournit plusieurs informations accessibles par leur nom. Les principaux attributs sont system, node, release, version, machine et processor.

Le programme suivant affiche ces différentes informations séparément.

Sortie possible :

La signification de ces informations peut être résumée ainsi :

  • system : nom du système d'exploitation, par exemple Windows, Linux ou Darwin.
  • node : nom de la machine sur le réseau.
  • release : version principale ou release du système.
  • version : chaîne décrivant plus précisément la version du système.
  • machine : type de machine ou architecture matérielle rapportée par le système.
  • processor : informations sur le processeur lorsqu'elles sont disponibles.

La disponibilité et le niveau de détail de ces informations dépendent du système d'exploitation. Certaines valeurs, notamment processor, peuvent être vides sur certaines plateformes.

4. Accéder individuellement aux informations du système

L'un des principaux avantages de platform.uname() est de permettre l'accès aux informations à l'aide d'attributs explicites. Il n'est donc pas nécessaire d'analyser manuellement une longue chaîne de caractères.

Pour obtenir uniquement le système d'exploitation, nous utilisons l'attribut system.

Sortie possible :

Pour obtenir le nom de la machine, nous utilisons l'attribut node.

Sortie possible :

Les attributs release et version permettent d'obtenir des informations sur la version du système.

Sortie possible :

Enfin, machine et processor fournissent des informations liées à la plateforme matérielle lorsqu'elles sont disponibles.

Sortie possible :

Il est important de ne pas supposer que processor contiendra toujours le modèle commercial exact du processeur. La valeur dépend fortement du système et peut parfois être vide.

5. Parcourir les informations retournées par platform.uname()

Les informations obtenues avec platform.uname() peuvent être regroupées avec leurs noms afin de les parcourir facilement. Une méthode simple consiste à créer un dictionnaire Python à partir des attributs qui nous intéressent.

Sortie possible :

Cette approche est utile lorsque les informations doivent ensuite être affichées, enregistrées dans un fichier ou intégrées dans une autre structure de données.

Nous pouvons également sélectionner uniquement certaines informations avant de les afficher.

Sortie possible :

6. Comparer platform.uname() aux autres fonctions du module platform

Les informations fournies par platform.uname() peuvent également être obtenues individuellement avec différentes fonctions du module platform. L'intérêt de uname() est de les regrouper dans un seul objet.

Le programme suivant compare les attributs de platform.uname() avec plusieurs fonctions spécialisées.

Sortie possible :

Lorsque plusieurs informations sont nécessaires simultanément, platform.uname() est particulièrement pratique. Si une seule information est nécessaire, une fonction spécialisée comme platform.system() ou platform.machine() peut rendre le code plus explicite.

Il ne faut pas confondre platform.uname() avec platform.platform(). La première permet d'accéder séparément à plusieurs informations structurées, tandis que la seconde produit principalement une chaîne descriptive globale de la plateforme.

Sortie possible :

7. Utiliser platform.uname() sous Windows, Linux et macOS

La fonction platform.uname() est multiplateforme. Le même code peut être exécuté sous Windows, Linux ou macOS, mais les valeurs retournées dépendent du système utilisé.

Le programme suivant affiche les principales informations sans dépendre d'un système particulier.

Sortie possible sous Windows :

Sous Linux, les mêmes attributs peuvent retourner des informations relatives au noyau et à l'architecture Linux.

Sortie possible sous Linux :

Sous macOS, platform.uname() retourne généralement Darwin comme nom du système, car macOS repose sur le système Darwin.

Sortie possible sous macOS :

Ces résultats sont uniquement des exemples. Les numéros de version, les noms de machines et les architectures dépendent de l'ordinateur sur lequel le programme est exécuté.

8. Créer une fiche complète des informations système

La fonction platform.uname() peut servir de base à la création d'une fiche de diagnostic système. Nous pouvons compléter ses informations avec la version et l'implémentation de Python.

Sortie possible :

Ces informations peuvent également être enregistrées dans un fichier texte pour créer automatiquement un rapport de diagnostic.

Sortie :

Le fichier informations_systeme.txt contient alors les informations collectées lors de l'exécution du programme.

Sortie :

9. Créer une fonction réutilisable avec platform.uname()

Lorsque plusieurs parties d'une application doivent accéder aux caractéristiques du système, nous pouvons créer une fonction réutilisable retournant les informations sous forme de dictionnaire.

Sortie possible :

Nous pouvons enrichir cette fonction en ajoutant les informations relatives à l'environnement Python.

Sortie possible :

Cette fonction peut ensuite être utilisée dans un outil de diagnostic, un journal d'exécution ou une application devant collecter les caractéristiques de son environnement.

10. À retenir !

La fonction platform.uname() constitue une méthode pratique pour récupérer en une seule opération plusieurs informations système importantes.

  • platform.uname() appartient au module standard platform de Python.
  • Elle regroupe plusieurs informations concernant le système et la machine.
  • L'attribut system indique le nom du système d'exploitation.
  • L'attribut node fournit le nom de la machine sur le réseau.
  • L'attribut release indique la release du système.
  • L'attribut version fournit une chaîne décrivant sa version.
  • L'attribut machine renseigne sur le type de machine ou l'architecture rapportée par le système.
  • L'attribut processor fournit des informations sur le processeur lorsqu'elles sont disponibles.
  • Le contenu exact des valeurs dépend du système d'exploitation et de l'environnement d'exécution.
  • Sous macOS, la valeur de system est généralement Darwin.
  • platform.uname() peut être combinée avec platform.python_version(), platform.python_implementation() et platform.python_compiler() pour créer un diagnostic plus complet.
  • Les informations récupérées peuvent être affichées, stockées dans un dictionnaire ou enregistrées dans un fichier.

Le programme suivant résume l'utilisation essentielle de platform.uname().

Sortie possible :

 




Auteur : Younes Derfoufi
Lieu de travail : CRMEF OUJDA
Site Web : www.tresfacile.net
Chaine YouTube : https://www.youtube.com/user/InformatiquesFacile
Me contacter : https://www.tresfacile.net/me-contacter/


Leave a Reply

Your email address will not be published. Required fields are marked *