- À propos de platform.uname() en Python
- Obtenir toutes les informations système avec platform.uname()
- Comprendre les informations retournées par platform.uname()
- Accéder individuellement aux informations du système
- Parcourir les informations retournées par platform.uname()
- Comparer platform.uname() aux autres fonctions du module platform
- Utiliser platform.uname() sous Windows, Linux et macOS
- Créer une fiche complète des informations système
- Créer une fonction réutilisable avec platform.uname()
- À retenir !
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.
1 2 3 | import platform print("Module platform importé avec succès.") |
Sortie :
1 | Module platform importé avec succès. |
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é.
1 2 3 4 5 | import platform informations = platform.uname() print(informations) |
Sortie possible sous Windows :
1 | uname_result(system='Windows', node='MON-PC', release='10', version='10.0.19045', machine='AMD64') |
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.
1 2 3 4 5 6 | import platform systeme = platform.uname() print("Informations système :") print(systeme) |
Sortie possible :
1 2 | Informations système : uname_result(system='Windows', node='MON-PC', release='10', version='10.0.19045', machine='AMD64') |
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.
1 2 3 4 5 6 7 8 9 10 | import platform infos = platform.uname() print("Système :", infos.system) print("Nom de la machine :", infos.node) print("Release :", infos.release) print("Version :", infos.version) print("Machine :", infos.machine) print("Processeur :", infos.processor) |
Sortie possible :
1 2 3 4 5 6 | Système : Windows Nom de la machine : MON-PC Release : 10 Version : 10.0.19045 Machine : AMD64 Processeur : Intel64 Family 6 Model 142 Stepping 10, GenuineIntel |
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.
1 2 3 4 5 | import platform infos = platform.uname() print(infos.system) |
Sortie possible :
1 | Windows |
Pour obtenir le nom de la machine, nous utilisons l'attribut node.
1 2 3 4 5 | import platform infos = platform.uname() print("Nom de la machine :", infos.node) |
Sortie possible :
1 | Nom de la machine : MON-PC |
Les attributs release et version permettent d'obtenir des informations sur la version du système.
1 2 3 4 5 6 | import platform infos = platform.uname() print("Release :", infos.release) print("Version :", infos.version) |
Sortie possible :
1 2 | Release : 10 Version : 10.0.19045 |
Enfin, machine et processor fournissent des informations liées à la plateforme matérielle lorsqu'elles sont disponibles.
1 2 3 4 5 6 | import platform infos = platform.uname() print("Machine :", infos.machine) print("Processeur :", infos.processor) |
Sortie possible :
1 2 | Machine : AMD64 Processeur : Intel64 Family 6 Model 142 Stepping 10, GenuineIntel |
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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | import platform infos = platform.uname() systeme = { "system": infos.system, "node": infos.node, "release": infos.release, "version": infos.version, "machine": infos.machine, "processor": infos.processor } for cle, valeur in systeme.items(): print(cle, ":", valeur) |
Sortie possible :
1 2 3 4 5 6 | system : Windows node : MON-PC release : 10 version : 10.0.19045 machine : AMD64 processor : Intel64 Family 6 Model 142 Stepping 10, GenuineIntel |
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.
1 2 3 4 5 6 7 8 9 10 11 12 | import platform infos = platform.uname() selection = { "Système": infos.system, "Release": infos.release, "Machine": infos.machine } for nom, valeur in selection.items(): print(f"{nom} : {valeur}") |
Sortie possible :
1 2 3 | Système : Windows Release : 10 Machine : AMD64 |
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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | import platform infos = platform.uname() print("uname().system :", infos.system) print("system() :", platform.system()) print("uname().node :", infos.node) print("node() :", platform.node()) print("uname().release :", infos.release) print("release() :", platform.release()) print("uname().version :", infos.version) print("version() :", platform.version()) print("uname().machine :", infos.machine) print("machine() :", platform.machine()) print("uname().processor :", infos.processor) print("processor() :", platform.processor()) |
Sortie possible :
1 2 3 4 5 6 7 8 9 10 11 12 | uname().system : Windows system() : Windows uname().node : MON-PC node() : MON-PC uname().release : 10 release() : 10 uname().version : 10.0.19045 version() : 10.0.19045 uname().machine : AMD64 machine() : AMD64 uname().processor : Intel64 Family 6 Model 142 Stepping 10, GenuineIntel processor() : Intel64 Family 6 Model 142 Stepping 10, GenuineIntel |
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.
1 2 3 4 | import platform print("uname() :", platform.uname()) print("platform() :", platform.platform()) |
Sortie possible :
1 2 | uname() : uname_result(system='Windows', node='MON-PC', release='10', version='10.0.19045', machine='AMD64') platform() : Windows-10-10.0.19045-SP0 |
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.
1 2 3 4 5 6 7 8 9 10 | import platform infos = platform.uname() print("Système :", infos.system) print("Nom :", infos.node) print("Release :", infos.release) print("Version :", infos.version) print("Machine :", infos.machine) print("Processeur :", infos.processor) |
Sortie possible sous Windows :
1 2 3 4 5 6 | Système : Windows Nom : MON-PC Release : 10 Version : 10.0.19045 Machine : AMD64 Processeur : Intel64 Family 6 Model 142 Stepping 10, GenuineIntel |
Sous Linux, les mêmes attributs peuvent retourner des informations relatives au noyau et à l'architecture Linux.
1 2 3 4 5 6 7 | import platform infos = platform.uname() print("Système :", infos.system) print("Release :", infos.release) print("Machine :", infos.machine) |
Sortie possible sous Linux :
1 2 3 | Système : Linux Release : 6.8.0-52-generic Machine : x86_64 |
Sous macOS, platform.uname() retourne généralement Darwin comme nom du système, car macOS repose sur le système Darwin.
1 2 3 4 5 6 7 | import platform infos = platform.uname() print("Système :", infos.system) print("Release :", infos.release) print("Machine :", infos.machine) |
Sortie possible sous macOS :
1 2 3 | Système : Darwin Release : 24.0.0 Machine : arm64 |
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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | import platform infos = platform.uname() print("=== Informations système ===") print("Système :", infos.system) print("Ordinateur :", infos.node) print("Release :", infos.release) print("Version :", infos.version) print("Machine :", infos.machine) print("Processeur :", infos.processor) print("Python :", platform.python_version()) print("Implémentation :", platform.python_implementation()) print("Compilateur :", platform.python_compiler()) |
Sortie possible :
1 2 3 4 5 6 7 8 9 10 | === Informations système === Système : Windows Ordinateur : MON-PC Release : 10 Version : 10.0.19045 Machine : AMD64 Processeur : Intel64 Family 6 Model 142 Stepping 10, GenuineIntel Python : 3.13.7 Implémentation : CPython Compilateur : MSC v.1944 64 bit (AMD64) |
Ces informations peuvent également être enregistrées dans un fichier texte pour créer automatiquement un rapport de diagnostic.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | import platform infos = platform.uname() with open("informations_systeme.txt", "w", encoding="utf-8") as fichier: fichier.write(f"Système : {infos.system}\n") fichier.write(f"Ordinateur : {infos.node}\n") fichier.write(f"Release : {infos.release}\n") fichier.write(f"Version : {infos.version}\n") fichier.write(f"Machine : {infos.machine}\n") fichier.write(f"Processeur : {infos.processor}\n") fichier.write(f"Python : {platform.python_version()}\n") print("Rapport système enregistré.") |
Sortie :
1 | Rapport système enregistré. |
Le fichier informations_systeme.txt contient alors les informations collectées lors de l'exécution du programme.
1 2 3 4 5 6 7 | Système : Windows Ordinateur : MON-PC Release : 10 Version : 10.0.19045 Machine : AMD64 Processeur : Intel64 Family 6 Model 142 Stepping 10, GenuineIntel Python : 3.13.7 |
Sortie :
1 | Les informations système ont été enregistrées dans le fichier texte. |
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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | import platform def obtenir_informations_systeme(): infos = platform.uname() return { "systeme": infos.system, "ordinateur": infos.node, "release": infos.release, "version": infos.version, "machine": infos.machine, "processeur": infos.processor } systeme = obtenir_informations_systeme() for cle, valeur in systeme.items(): print(f"{cle} : {valeur}") |
Sortie possible :
1 2 3 4 5 6 | systeme : Windows ordinateur : MON-PC release : 10 version : 10.0.19045 machine : AMD64 processeur : Intel64 Family 6 Model 142 Stepping 10, GenuineIntel |
Nous pouvons enrichir cette fonction en ajoutant les informations relatives à l'environnement Python.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | import platform def diagnostic_systeme(): infos = platform.uname() return { "systeme": infos.system, "ordinateur": infos.node, "release": infos.release, "version": infos.version, "machine": infos.machine, "processeur": infos.processor, "python": platform.python_version(), "implementation": platform.python_implementation(), "compilateur": platform.python_compiler() } diagnostic = diagnostic_systeme() for cle, valeur in diagnostic.items(): print(f"{cle} : {valeur}") |
Sortie possible :
1 2 3 4 5 6 7 8 9 | systeme : Windows ordinateur : MON-PC release : 10 version : 10.0.19045 machine : AMD64 processeur : Intel64 Family 6 Model 142 Stepping 10, GenuineIntel python : 3.13.7 implementation : CPython compilateur : MSC v.1944 64 bit (AMD64) |
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().
1 2 3 4 5 6 7 8 9 10 | import platform infos = platform.uname() print("Système :", infos.system) print("Ordinateur :", infos.node) print("Release :", infos.release) print("Version :", infos.version) print("Machine :", infos.machine) print("Processeur :", infos.processor) |
Sortie possible :
1 2 3 4 5 6 | Système : Windows Ordinateur : MON-PC Release : 10 Version : 10.0.19045 Machine : AMD64 Processeur : Intel64 Family 6 Model 142 Stepping 10, GenuineIntel |
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/


