Connaître la version du système avec platform.release() en Python

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

Le module platform de Python fournit plusieurs fonctions permettant d'obtenir des informations sur le système d'exploitation et la machine sur lesquels un programme est exécuté. Parmi ces fonctions, platform.release() permet d'obtenir la release du système, c'est-à-dire une information correspondant à la version ou à la publication du système d'exploitation.

Cette fonction peut être utilisée dans des programmes de diagnostic, des scripts d'administration ou des applications multiplateformes qui doivent connaître certaines caractéristiques du système avant d'effectuer un traitement.

Le programme suivant importe le module platform puis affiche directement la valeur retournée par platform.release().

Sortie possible :

La valeur retournée dépend entièrement du système sur lequel le programme Python est exécuté. Sur une autre version de Windows, une distribution Linux ou macOS, le résultat peut être différent.

2. Obtenir la version du système avec platform.release()

La fonction platform.release() ne nécessite aucun argument. Il suffit d'importer le module platform puis d'appeler la fonction pour obtenir l'information fournie par le système.

Le programme suivant ajoute un texte explicatif devant la valeur retournée afin de rendre le résultat plus lisible.

Sortie possible :

Le résultat de platform.release() est retourné sous forme de chaîne de caractères. Il peut donc être affiché, stocké dans une variable ou utilisé dans différents traitements.

Il est également possible d'importer directement la fonction release() depuis le module platform.

Sortie possible :

Cette syntaxe permet d'utiliser directement release(), mais l'écriture platform.release() permet généralement de voir immédiatement que la fonction appartient au module platform.

3. Stocker la version du système dans une variable

Dans un programme plus important, il est souvent pratique de stocker le résultat de platform.release() dans une variable. Cette valeur peut ensuite être utilisée plusieurs fois sans appeler à nouveau la fonction.

Le programme suivant enregistre la release du système dans la variable version_systeme.

Sortie possible :

La variable contient une chaîne de caractères. Nous pouvons le vérifier avec la fonction type().

Sortie :

Le résultat étant de type str, les méthodes habituelles des chaînes de caractères peuvent lui être appliquées. Il faut cependant éviter de supposer que la release contient toujours uniquement un nombre, car son format dépend du système.

4. Associer platform.release() à platform.system()

Utilisée seule, platform.release() fournit une information sur la release mais ne précise pas nécessairement à quel système elle appartient. Il est donc souvent préférable de l'associer à platform.system(), qui retourne le nom du système d'exploitation.

Le programme suivant affiche simultanément le système et sa release.

Sortie possible :

Nous pouvons également réunir les deux informations dans une seule chaîne à l'aide d'une f-string.

Sortie possible :

Cette présentation est plus informative que l'utilisation de platform.release() seule, puisque la valeur retournée est immédiatement associée au système concerné.

5. Comprendre les résultats sous Windows, Linux et macOS

Le résultat de platform.release() n'a pas exactement le même format sur tous les systèmes. La fonction retourne l'information de release fournie par la plateforme, ce qui signifie qu'il ne faut pas interpréter son résultat de manière identique sous Windows, Linux et macOS.

Exemple sous Windows

Sous Windows, nous pouvons afficher le système et sa release avec le programme suivant.

Sortie possible sous Windows :

Exemple sous Linux

Sous Linux, platform.release() retourne généralement la release du noyau Linux. La valeur peut donc ressembler à un numéro de version du noyau plutôt qu'au nom commercial d'une distribution.

Sortie possible sous Linux :

Exemple sous macOS

Sous macOS, platform.system() retourne généralement Darwin et platform.release() fournit la release correspondante du système Darwin.

Sortie possible sous macOS :

Ces exemples montrent que platform.release() doit être interprétée en tenant compte du système retourné par platform.system().

6. Comparer la version du système dans un programme

Puisque platform.release() retourne une chaîne de caractères, son résultat peut être utilisé dans une structure conditionnelle. Cette possibilité peut être utile lorsqu'un traitement dépend d'une release particulière du système.

Le programme suivant effectue un test simple pour savoir si Windows 11 est détecté.

Sortie possible :

Il est important de tester également le système d'exploitation et de ne pas comparer uniquement la valeur retournée par release(), car deux systèmes différents peuvent utiliser des formats de version totalement différents.

Nous pouvons également utiliser la release simplement pour construire un message adapté au système détecté.

Sortie possible :

Cette approche tient compte du fait que la signification précise de la release varie selon la plateforme.

7. Associer platform.release() à d'autres fonctions du module platform

Le module platform propose plusieurs fonctions complémentaires qui peuvent être associées à platform.release() pour obtenir une description plus complète de l'environnement d'exécution.

Le programme suivant combine platform.node(), platform.system(), platform.release() et platform.machine().

Sortie possible :

Pour obtenir une description encore plus synthétique de la plateforme, nous pouvons utiliser platform.platform().

Sortie possible :

La sortie exacte de platform.platform() varie selon le système. Elle permet cependant de compléter efficacement les informations obtenues avec platform.release().

8. Créer une fonction pour obtenir les informations du système

Lorsque les informations relatives au système sont utilisées à plusieurs endroits dans une application, nous pouvons créer une fonction Python qui regroupe les appels aux différentes fonctions du module platform.

La fonction suivante retourne le système et sa release sous forme de chaîne.

Sortie possible :

Pour manipuler séparément les différentes informations, nous pouvons retourner un dictionnaire.

Sortie possible :

Chaque valeur peut ensuite être récupérée séparément, par exemple avec infos["release"] pour connaître uniquement la release du système.

9. Connaître les limites de platform.release()

La fonction platform.release() est simple à utiliser, mais il est important de comprendre qu'elle ne fournit pas nécessairement un nom commercial complet du système d'exploitation. Son résultat dépend des informations exposées par la plateforme et son interprétation varie selon le système.

Par exemple, sous Linux, la valeur retournée correspond généralement à la release du noyau et non directement à une version telle que Ubuntu 24.04 ou Debian 13. Sous macOS, la release retournée correspond au système Darwin et ne doit pas être confondue automatiquement avec le numéro commercial de macOS.

Le programme suivant affiche plusieurs informations afin d'éviter d'interpréter la release indépendamment de son contexte.

Sortie possible :

Les valeurs exactes varient selon la machine. Il est donc préférable de combiner plusieurs fonctions lorsque le programme a besoin d'informations précises sur le système.

Nous pouvons également prévoir le cas où aucune information de release exploitable n'est disponible.

Sortie possible :

Ce test permet au programme de continuer à fonctionner même si l'environnement ne fournit pas l'information attendue.

10. À retenir !

La fonction platform.release() permet d'obtenir facilement la release du système d'exploitation depuis un programme Python. Elle appartient au module platform de la bibliothèque standard et ne nécessite donc pas l'installation d'un package supplémentaire.

  • platform.release() retourne une information concernant la release du système.
  • La fonction ne nécessite aucun argument.
  • La valeur retournée est une chaîne de caractères str.
  • platform.system() permet d'identifier le système auquel appartient la release.
  • Sous Windows, la release peut correspondre à une désignation telle que 10 ou 11 selon l'environnement.
  • Sous Linux, elle correspond généralement à la release du noyau Linux.
  • Sous macOS, elle correspond généralement à la release Darwin.
  • platform.version() fournit une information complémentaire sur la version du système.
  • platform.platform() permet d'obtenir une description plus complète de la plateforme.
  • Il est préférable d'interpréter platform.release() en tenant compte du système d'exploitation détecté.

Le programme suivant rassemble les principales fonctions étudiées afin d'afficher une fiche simple concernant le système d'exploitation de la machine.

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 *