Obtenir les informations détaillées du système avec platform.version() en Python

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

Le module platform de Python contient plusieurs fonctions permettant d'obtenir des informations sur le système d'exploitation, la machine et l'environnement dans lequel un programme est exécuté. Parmi ces fonctions, platform.version() retourne une chaîne contenant des informations relatives à la version du système.

Cette fonction est particulièrement utile pour créer des outils de diagnostic système, enregistrer les caractéristiques d'une machine ou compléter les informations fournies par platform.system() et platform.release().

Le programme suivant importe le module platform puis affiche directement le résultat de platform.version().

Sortie possible :

Le résultat 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 la même chaîne sur toutes les machines.

2. Obtenir la version détaillée du système

La fonction platform.version() ne nécessite aucun argument. Elle interroge les informations disponibles sur la plateforme puis retourne la version du système sous forme d'une chaîne de caractères.

Nous pouvons ajouter un texte devant le résultat afin d'obtenir un affichage plus explicite.

Sortie possible :

Il est également possible d'importer directement la fonction version() depuis le module platform. Cette syntaxe évite d'utiliser le préfixe platform. lors de l'appel.

Sortie possible :

Les deux méthodes permettent d'obtenir la même information. L'écriture platform.version() reste cependant particulièrement lisible puisqu'elle indique immédiatement que la fonction appartient au module platform.

3. Comprendre la valeur retournée par platform.version()

La fonction platform.version() retourne une chaîne de caractères et non un nombre. Même lorsque la valeur ressemble à une succession de nombres séparés par des points, son type Python reste str.

Le programme suivant stocke la version dans une variable puis affiche sa valeur et son type.

Sortie possible :

Le résultat étant une chaîne, nous pouvons utiliser les opérations habituelles disponibles pour le type str. Le programme suivant affiche par exemple le nombre de caractères composant la valeur retournée.

Sortie possible :

Il est important de conserver la valeur sous forme de chaîne lorsque nous souhaitons simplement l'afficher ou l'enregistrer, car son format peut varier considérablement d'un système à un autre.

4. Comparer platform.version() et platform.release()

Les fonctions platform.version() et platform.release() peuvent sembler similaires, mais elles ne fournissent pas exactement la même information. platform.release() retourne la release du système, tandis que platform.version() fournit une chaîne de version déterminée à partir des informations disponibles sur la plateforme.

Le programme suivant affiche les deux résultats afin de les comparer.

Sortie possible sous Windows :

Les deux informations sont donc complémentaires. La release peut fournir une désignation générale du système alors que la version peut apporter une information technique supplémentaire.

Nous pouvons ajouter platform.system() afin de savoir immédiatement à quel système correspondent ces valeurs.

Sortie possible :

Cette combinaison est généralement plus informative que l'utilisation isolée d'une seule de ces fonctions.

5. Utiliser platform.version() sous Windows, Linux et macOS

Le contenu retourné par platform.version() dépend du système d'exploitation. Il ne faut donc pas supposer que la chaîne obtenue possède toujours la même structure sous Windows, Linux et macOS.

Exemple sous Windows

Sous Windows, nous pouvons afficher simultanément le système et sa version afin de replacer le résultat dans son contexte.

Sortie possible sous Windows :

Exemple sous Linux

Sous Linux, le contenu retourné peut fournir des informations liées au noyau et à sa construction. La valeur exacte dépend de la distribution et du système utilisé.

Sortie possible sous Linux :

Exemple sous macOS

Sous macOS, platform.system() retourne généralement Darwin. La chaîne obtenue avec platform.version() dépend de la version et de la configuration du système.

Sortie possible sous macOS :

Ces exemples montrent pourquoi il est préférable d'interpréter platform.version() en tenant compte du système retourné par platform.system().

6. Associer platform.version() aux autres informations du système

Pour obtenir une description plus complète de l'ordinateur, nous pouvons associer platform.version() aux autres fonctions du module platform, notamment platform.node(), platform.system(), platform.release() et platform.machine().

Le programme suivant rassemble ces différentes informations dans une petite fiche système.

Sortie possible :

La fonction platform.platform() peut également être utilisée pour obtenir une chaîne synthétique décrivant la plateforme.

Sortie possible :

La combinaison de plusieurs fonctions permet ainsi d'obtenir une description plus complète que celle fournie par platform.version() seule.

7. Exploiter la version du système dans un programme

Comme platform.version() retourne une chaîne de caractères, son résultat peut être stocké, affiché ou intégré dans un message. Il peut également être utilisé dans une condition lorsque nous connaissons précisément le format retourné par la plateforme concernée.

Le programme suivant récupère la version puis vérifie simplement si une valeur est disponible.

Sortie possible :

Nous pouvons également construire une chaîne regroupant le système, sa release et sa version afin de l'utiliser dans un message de diagnostic.

Sortie possible :

Ce type de chaîne peut être utilisé dans un journal d'application, un rapport de diagnostic ou un message destiné à faciliter l'identification de l'environnement d'exécution.

8. Créer une fonction d'informations détaillées du système

Lorsque les informations du système sont nécessaires à plusieurs endroits d'un programme, nous pouvons créer une fonction qui rassemble les différents appels au module platform. Cette organisation évite de répéter le même code.

La fonction suivante retourne la version du système obtenue avec platform.version().

Sortie possible :

Pour obtenir plusieurs informations en même temps, nous pouvons construire un dictionnaire Python.

Sortie possible :

Nous pouvons ensuite récupérer uniquement la version avec la clé "version".

Sortie possible :

Cette organisation devient particulièrement pratique lorsqu'une application doit manipuler plusieurs informations concernant son environnement d'exécution.

9. Précautions et limites de platform.version()

La fonction platform.version() est utile pour obtenir des informations techniques sur le système, mais son résultat ne doit pas être interprété comme une version universelle ayant le même format sur toutes les plateformes. La signification et la structure de la chaîne dépendent du système d'exploitation.

Il est donc déconseillé de découper systématiquement le résultat en supposant qu'il contient uniquement des nombres séparés par des points. Une telle hypothèse peut fonctionner sur une machine et échouer sur une autre.

Le programme suivant illustre une approche plus sûre qui conserve simplement la chaîne retournée et l'associe au système correspondant.

Sortie possible :

Lorsque nous avons besoin d'une identification plus complète de la plateforme, il est préférable de combiner platform.version() avec platform.system(), platform.release() et éventuellement platform.platform().

Le programme suivant affiche toutes ces informations afin de faciliter leur comparaison.

Sortie possible :

Les valeurs affichées peuvent varier selon la machine, le système et la version de Python. Elles doivent donc être considérées comme des informations décrivant l'environnement d'exécution courant.

10. À retenir !

La fonction platform.version() du module platform permet d'obtenir une chaîne contenant des informations de version du système. Elle appartient à la bibliothèque standard de Python et peut être utilisée sans installer de module supplémentaire.

  • platform.version() retourne des informations concernant la version du système.
  • La fonction ne nécessite aucun argument.
  • Le résultat est retourné sous forme de chaîne de caractères str.
  • Le format du résultat varie selon le système d'exploitation.
  • platform.system() permet d'identifier le système auquel appartient la version.
  • platform.release() fournit une information complémentaire sur la release du système.
  • platform.node() permet d'obtenir le nom de la machine.
  • platform.machine() fournit une information concernant le type de machine ou l'architecture rapportée par le système.
  • platform.platform() permet d'obtenir une description synthétique plus complète de la plateforme.
  • Il est préférable de combiner plusieurs fonctions du module platform lorsqu'un programme a besoin d'informations système détaillées.

Le programme suivant rassemble les principales informations étudiées dans ce tutoriel et constitue un exemple simple de fiche de diagnostic du système.

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 *