Obtenir un résumé complet du système avec platform.platform() en Python

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

Le module standard platform de Python fournit plusieurs fonctions permettant d'obtenir des informations sur le système d'exploitation, sa version, l'architecture de la machine, le processeur ou encore l'environnement Python utilisé.

Parmi ces fonctions, platform.platform() permet d'obtenir en une seule instruction une chaîne descriptive du système. Cette chaîne rassemble plusieurs informations permettant d'identifier la plateforme sur laquelle le programme Python est exécuté.

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

Sortie :

La fonction platform() est particulièrement utile pour les programmes de diagnostic, les scripts d'administration, les outils multiplateformes et les applications devant enregistrer des informations sur leur environnement d'exécution.

2. Obtenir un résumé du système avec platform.platform()

La manière la plus simple d'utiliser platform.platform() consiste à appeler la fonction sans argument. Elle retourne une chaîne de caractères décrivant la plateforme courante.

Sortie possible sous Windows :

Le résultat exact dépend du système d'exploitation, de sa version et de l'environnement dans lequel Python est exécuté. Il ne faut donc pas s'attendre à obtenir exactement la même chaîne sur tous les ordinateurs.

Nous pouvons vérifier que la valeur retournée est une chaîne de caractères avec type().

Sortie possible :

La fonction platform.platform() ne retourne donc pas un dictionnaire ou un objet complexe : elle fournit directement une chaîne descriptive facile à afficher, enregistrer ou transmettre.

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

La chaîne produite par platform.platform() est construite à partir de différentes informations disponibles sur le système. Son contenu et sa forme peuvent varier selon la plateforme.

Nous pouvons comparer ce résumé aux informations retournées séparément par certaines fonctions du module platform.

Sortie possible :

La fonction platform.system() fournit principalement le nom du système, tandis que platform.release() et platform.version() donnent des informations plus spécifiques sur sa version. platform.machine() renseigne sur le type de machine lorsque cette information est disponible.

Nous pouvons également afficher le nom du processeur lorsque la plateforme fournit cette information.

Sortie possible :

Les valeurs de platform.processor() peuvent être différentes, moins détaillées ou même vides selon le système et l'implémentation Python.

4. Utiliser les paramètres aliased et terse

La fonction platform.platform() accepte notamment deux paramètres optionnels : aliased et terse. Ils permettent d'influencer la représentation de la plateforme retournée par la fonction.

Utiliser le paramètre aliased

Le paramètre aliased vaut False par défaut. Lorsqu'il vaut True, Python peut utiliser un nom alternatif pour certaines plateformes lorsqu'un alias approprié est connu.

Sortie possible :

Sur de nombreux systèmes, les deux résultats peuvent être identiques. L'effet du paramètre dépend de la plateforme détectée et des alias disponibles.

Utiliser le paramètre terse

Le paramètre terse demande une identification plus concise lorsque cela est possible. Sa valeur par défaut est False.

Sortie possible :

Le résultat précis dépend encore une fois du système. L'option terse=True est utile lorsque nous souhaitons une représentation plus courte de la plateforme.

Les deux paramètres peuvent également être utilisés simultanément.

Sortie possible :

5. Comparer platform.platform() aux autres fonctions du module platform

La fonction platform.platform() est particulièrement adaptée lorsque nous souhaitons obtenir rapidement un résumé global. Les autres fonctions du module sont préférables lorsqu'une information précise doit être récupérée séparément.

Le programme suivant permet de comparer plusieurs fonctions importantes.

Sortie possible :

Nous pouvons donc retenir que platform.platform() fournit une représentation synthétique, tandis que les autres fonctions permettent d'accéder individuellement aux différentes caractéristiques du système.

Il est également possible d'ajouter les informations concernant la version de Python et son implémentation.

Sortie possible :

Les numéros de version affichés ici ne sont que des exemples : ils correspondent toujours à l'environnement dans lequel le programme est réellement exécuté.

6. Afficher platform.platform() sous Windows, Linux et macOS

La chaîne retournée par platform.platform() varie selon le système d'exploitation. Un même programme peut donc produire des résultats différents sous Windows, Linux et macOS.

Le code utilisé reste pourtant exactement le même sur ces différents systèmes.

Sortie possible sous Windows :

Sur une machine Linux, le résultat peut contenir le noyau Linux et l'architecture de la machine.

Sortie possible sous Linux :

Sous macOS, la chaîne retournée adopte encore une autre forme.

Sortie possible sous macOS :

Ces sorties sont données à titre d'exemple. Leur contenu dépend notamment de la version du système, du noyau, de l'architecture et de l'environnement Python utilisé.

7. Utiliser platform.platform() pour identifier l'environnement d'exécution

La fonction platform.platform() peut être utilisée pour afficher ou enregistrer une description de l'environnement dans lequel un programme a été exécuté. Cela peut être utile lors d'un diagnostic ou lorsqu'un utilisateur signale une erreur.

Le programme suivant affiche un message de diagnostic contenant la plateforme et la version de Python.

Sortie possible :

Il est cependant préférable d'utiliser platform.system() plutôt que d'analyser le texte retourné par platform.platform() lorsqu'un programme doit adapter son comportement au système d'exploitation.

L'exemple suivant détermine le système de manière explicite.

Sortie possible sous Windows :

platform.platform() est donc très utile pour produire un résumé destiné à l'affichage ou au diagnostic, tandis que platform.system() convient mieux aux tests conditionnels portant sur le système.

8. Créer une fiche détaillée du système avec platform.platform()

Nous pouvons associer platform.platform() aux autres fonctions du module pour construire une fiche complète de l'environnement système et Python.

Le programme suivant regroupe les principales informations dans un dictionnaire.

Sortie possible :

Cette représentation sous forme de dictionnaire facilite la réutilisation des informations dans le reste du programme.

Nous pouvons aussi enregistrer cette fiche dans un fichier texte afin de la transmettre lors d'un diagnostic technique.

Sortie :

Le fichier systeme.txt peut alors contenir une fiche de ce type.

Sortie :

9. Créer une fonction réutilisable de diagnostic système

Lorsque les informations système doivent être récupérées à plusieurs endroits d'un programme, il est préférable de créer une fonction réutilisable. Celle-ci peut retourner toutes les informations sous forme de dictionnaire.

Sortie possible :

Nous pouvons également créer une fonction plus simple lorsque seul un résumé destiné à l'affichage est nécessaire.

Sortie possible :

Une telle fonction peut être intégrée dans un outil de diagnostic système, dans une application destinée à plusieurs systèmes d'exploitation ou dans un programme générant automatiquement des informations techniques.

10. À retenir !

La fonction platform.platform() du module standard platform permet d'obtenir rapidement une chaîne descriptive de la plateforme sur laquelle Python est exécuté.

  • platform.platform() retourne une chaîne de caractères décrivant la plateforme.
  • Le contenu exact de cette chaîne dépend du système et de l'environnement d'exécution.
  • Le module platform appartient à la bibliothèque standard de Python et ne nécessite aucune installation avec pip.
  • Le paramètre aliased permet d'autoriser l'utilisation de certains alias de plateforme.
  • Le paramètre terse demande une représentation plus concise lorsque cela est possible.
  • platform.system() retourne le nom du système d'exploitation.
  • platform.release() retourne son numéro de release.
  • platform.version() fournit des informations sur la version du système.
  • platform.machine() renseigne sur le type de machine lorsque l'information est disponible.
  • platform.processor() fournit une information sur le processeur, mais son contenu dépend fortement de la plateforme.
  • platform.python_version() indique la version de Python.
  • platform.python_implementation() indique l'implémentation Python utilisée.
  • platform.platform() convient particulièrement à l'affichage et au diagnostic, tandis que platform.system() est généralement préférable pour adapter le comportement d'un programme au système d'exploitation.

Le programme suivant résume l'utilisation essentielle de platform.platform() et de quelques fonctions complémentaires.

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 *