1. Description du module plateform
- Le module "platform" est une bibliothèque Python qui fournit des fonctionnalités permettant d'obtenir des informations sur la plateforme et l'environnement d'exécution sur lesquels le code Python est exécuté. Il offre des méthodes pour récupérer des détails tels que le nom du système d'exploitation, la version de Python, l'architecture du processeur, les informations sur la machine, le nom de l'hôte, etc.
- L'une des fonctionnalités principales du module "platform" est la méthode platform.system(), qui renvoie le nom du système d'exploitation sur lequel le code Python est exécuté. Par exemple, si le code est exécuté sur un système Windows, la méthode renverra "Windows". De même, si le code est exécuté sur un système Linux, elle renverra "Linux".
- Une autre méthode utile est platform.python_version(), qui renvoie la version de Python en cours d'exécution. Par exemple, si vous utilisez Python 3.9, la méthode renverra "3.9.0".
- La méthode platform.machine() renvoie l'architecture du processeur de la machine sur laquelle le code est exécuté. Par exemple, elle peut renvoyer "x86_64" pour une machine basée sur un processeur 64 bits.
- Le module "platform" permet également d'obtenir des informations sur la machine elle-même. La méthode platform.node() renvoie le nom de l'hôte de la machine sur laquelle le code est exécuté. Cela peut être utile pour identifier la machine sur un réseau.
- En plus de ces méthodes, le module "platform" offre d'autres fonctionnalités pour récupérer des informations plus détaillées sur la plateforme d'exécution. Il permet de connaître la distribution du système d'exploitation (par exemple, "Ubuntu", "Fedora", "Windows-10"), la version du noyau, les informations sur l'architecture du processeur, etc.
- En résumé, le module "platform" fournit des fonctionnalités pour obtenir des informations sur la plateforme et l'environnement d'exécution de Python. Il permet de récupérer des détails tels que le système d'exploitation, la version de Python, l'architecture du processeur, les informations sur la machine, etc. Ces informations peuvent être utiles pour réaliser des actions spécifiques en fonction de la plateforme ou de l'environnement d'exécution.
2. Liste des principales méthodes associées au module plateform
Le module plateform possède de nombreuses méthodes permettatnt d'obtenir des informations sur l'environnement d'exécution. En voici une liste des méthodes les plus couramment utilisées:
- platform.system(): Renvoie le nom du système d'exploitation sous forme de chaîne de caractères.
- platform.release(): Renvoie la version du système d'exploitation.
- platform.version(): Renvoie des informations supplémentaires sur la version du système d'exploitation.
- platform.machine(): Renvoie le nom de l'architecture du processeur.
- platform.processor(): Renvoie le nom du processeur (modèle).
- platform.uname(): Renvoie un tuple contenant plusieurs informations sur la plateforme, y compris le nom du système d'exploitation, le nom du nœud (hôte), la version du système, la version du noyau et l'architecture du processeur.
- platform.python_version(): Renvoie la version de Python en cours d'exécution.
- platform.python_implementation(): Renvoie le nom de l'implémentation Python en cours d'utilisation (par exemple, "CPython", "Jython", "IronPython", etc.).
- platform.python_compiler(): Renvoie le nom du compilateur utilisé pour compiler Python.
- platform.python_build(): Renvoie des informations sur la construction de Python, notamment la date de compilation, l'heure et le numéro de révision.
- platform.architecture(): Renvoie un tuple contenant des informations sur l'architecture du processeur et la représentation en bits.
- platform.libc_ver(): Renvoie des informations sur la bibliothèque C utilisée par Python sur le système.
- platform.mac_ver(): Renvoie des informations spécifiques aux systèmes macOS, telles que la version du système d'exploitation et des informations supplémentaires.
- platform.win32_ver(): Renvoie des informations spécifiques aux systèmes Windows, telles que la version du système d'exploitation, le service pack et des informations supplémentaires.
- platform.linux_distribution(): Renvoie des informations spécifiques aux systèmes Linux, telles que le nom de la distribution Linux, la version et des informations supplémentaires.
- platform.dist(): Renvoie des informations sur la distribution Linux, y compris le nom de la distribution, la version et des informations supplémentaires.
- platform.system_alias(): Fournit un dictionnaire de noms de systèmes d'exploitation alternatifs.
- platform.architecture(executable): Renvoie l'architecture (32 bits ou 64 bits) de l'exécutable spécifié.
- platform.is_linux(), platform.is_windows(), platform.is_mac(): Renvoient des valeurs booléennes indiquant si la plateforme est respectivement Linux, Windows ou macOS.
- platform.is_64bit(), platform.is_32bit(): Renvoient des valeurs booléennes indiquant si Python est exécuté en mode 64 bits ou 32 bits.
- platform.node(): Renvoie le nom du nœud (hôte) sur le réseau.
- platform.getnode(): Renvoie un identifiant unique de la machine (adresse MAC) en fonction du système d'exploitation.
- platform.get_distribution(): Renvoie une instance de la classe "Distribution" contenant des informations sur la distribution Linux.
- platform.popen(cmd): Exécute une commande système spécifiée et renvoie un objet de type "Popen" pour la communication avec le processus.
Ces méthodes permettent d'obtenir diverses informations sur la plateforme et l'environnement d'exécution de Python. Elles permettent de vérifier le système d'exploitation, l'architecture, les distributions Linux, les identifiants de la machine, d'exécuter des commandes système, etc. Cela permet aux développeurs d'adapter leur code en fonction des caractéristiques de la plateforme sur laquelle il s'exécute.
3. Exemples d'usage du module plateform
3.1 La méthode platform.processor()
Exemple: afficher les informations sur le processeur
1 2 3 4 5 6 7 8 9 |
# importation du module platform import platform # affichage des informations du processeur print ('Processeur:', platform.processor ()) """ output: Processeur: Intel64 Family 6 Model 58 Stepping 9, GenuineIntel """ |
3.2 platform.platform()
Renvoie une chaîne unique identifiant la plate-forme sous-jacente avec autant d'informations utiles que possible.
Exemple
1 2 3 4 5 6 |
# importation du module platform import platform # affichage du type de machine print ('Platform processor:', platform.platform ()) # Affiche : Platform processor: Windows-7-6.1.7601-SP1 |
3.3 La méthode platform.architecture()
Cette fonction renvoie un tuple qui stocke des informations sur l'architecture binaire (nombre de bits dans le processeur de la plate-forme) et le format de liaison.
Exemple: affichage de l'architecture de la machine
1 2 3 4 5 6 |
# importation du module platform import platform # affichage de l'architecture de la plateforme print ('Platform architecture:', platform.architecture ()) # Affiche : Platform architecture: ('64bit', 'WindowsPE') |
3.4 La méthode platform.machine()
Cette fonction renvoie une chaîne qui affiche le type de machine, par type de machine ici, cela signifie les informations qui indiquent la largeur ou la taille des registres disponibles dans le noyau.
Exemple: affichage du type de machine
1 2 3 4 5 6 |
# importation du module platform import platform # affichage du type de machine print ('Type de machine:', platform.machine()) # Affiche : Type de machine: AMD64 |
3.5 La méthode platform.node()
Cette fonction renvoie une chaîne qui affiche les informations sur le nœud, essentiellement le nom de la machine au sein du réseau
Exemple: affichage du nom du nœud réseau
1 2 3 4 5 6 |
# importation du module platform import platform # informations sur le noeud print ('Nom du noeud au sein du réseau:', platform.node ()) # Affiche : Nom du noeud au sein du réseau: acer-PC |
3.6 platform.system()
Cette fonction renvoie une chaîne qui affiche le nom du système d'exploitation sur le périphérique actuel utilisé pour exécuter le programme.
Exemple: affichage du nom du système d'exploitation
1 2 3 4 5 6 |
# importation du module platform import platform # nom du système d'exploitation print ('Système:', platform.system()) # Affiche: Système: Windows |
3.7 La méthode platform.platform()
Cette fonction renvoie une seule chaîne contenant autant d'informations utiles que possible à récupérer sur le système. La sortie peut différer d'un système à l'autre.
Exemple: affichage des informations sur la plate-forme
1 2 3 4 5 |
# importation du module platform import platform # affichage informations sur la plate forme print ('Informations sur la plateforme:', platform.platform()) # Affiche : Informations sur la plateforme:: Windows-7-6.1.7601-SP1 |
3.8 La méthode platform.python_build()
Cette fonction renvoie un tuple qui stocke des informations sur la date de construction de python et le numéro de build. Ces informations sont stockées dans le tuple en tant que type de données de chaîne.
Exemple: Affichage de la date de construction de python.
1 2 3 4 5 6 |
# importation du module platform import platform # affichage du numéro de build python print ('Numéro de build Python et date:', platform.python_build()) # Affiche: Numéro de build Python et date: ('tags/v3.7.2:9a3ffc0492', 'Dec 23 2018 23:09:28') |
3.9 La méthode platform.uname()
Interface uname assez portable. Renvoie un tuple de chaînes (système, nœud, version, version, machine, processeur) identifiant la plate-forme sous-jacente.
Remarque
Notez bien que contrairement à la fonction os.uname (), cela renvoie également les informations de processeur possibles en tant qu'entrée de tuple supplémentaire.
Exemple
1 2 3 4 5 6 7 8 |
# importation du module platform import platform print ('Plate forme info:', platform.uname()) """ output : Plate forme info: uname_result(system='Windows', node='acer-PC', release='7', version='6.1.7601', machine='AMD64', processor='Intel64 Family 6 Model 58 Stepping 9, GenuineIntel') """ |
3.10 platform.python_version()
Cette fonction renvoie une chaîne qui affiche la version de Python en cours d'exécution sur le système.
Exemple: Affichage de la version python
1 2 3 4 5 6 7 |
# Programme Python pour afficher la version python # importation du module platform import platform # affichage de la version python print ('Version Python:', platform.python_version()) # Affiche: Version Python: 3.7.2 |
3.11 platform.python_compiler()
Cette méthode renvoie une chaîne identifiant le compilateur utilisé pour compiler Python.
Exemple: Affichage des informations du compilateur python
1 2 3 4 5 6 |
# importation du module platform import platform # affichage du compilateur python print ('Compilateur Python:', platform.python_compiler()) # Affiche: Compilateur Python: MSC v.1916 64 bit (AMD64) |
3.12 - La méthode platform.python_branch ()
Cette fonction renvoie une chaîne affichant des informations sur la branche python SCM, SCM signifie Source Code Manager, c'est un outil utilisé par les programmeurs pour gérer le code source. SCM est utilisé pour suivre les révisions du logiciel.
Exemple: Affichage des informations SCM python
1 2 3 4 5 6 7 |
# Programme Python pour afficher les informations SCM python # importation du module platform import platform # affichage des informations SCM python print ('Python MSC:', platform.python_compiler ()) # Affiche: Python SCM: MSC v.1916 64 bit (AMD64) |
3.13 La méthode platform.python_implementation()
Cette fonction renvoie une chaîne qui affiche des informations sur l'implémentation de python. Les sorties possibles de cette fonction sont CPython, JPython, PyPy, IronPython.
Exemple: Affichage de l'implémentation de python
1 2 3 4 5 6 7 |
# Programme Python pour afficher l'implémentation de python # importation du module platform import platform # affichage de l'implémentation de python print ('Implémentation Python:', platform.python_implementation ()) # Affiche: Implémentation Python: CPython |
4. Comparaison: os vs plateform
- Le module "os" et le module "platform" sont tous deux des modules Python qui fournissent des fonctionnalités pour interagir avec le système d'exploitation et obtenir des informations sur la plateforme d'exécution. Cependant, ils diffèrent légèrement dans leur objectif et leurs fonctionnalités.
- Le module "os" (Operating System) offre une interface permettant d'interagir avec le système d'exploitation sous-jacent. Il fournit des fonctions pour effectuer des opérations telles que la manipulation de fichiers et de répertoires, le lancement de processus, la gestion des variables d'environnement, la gestion des chemins d'accès, etc. Il est principalement axé sur les opérations liées au système de fichiers et à la gestion des processus.
- Le module "platform", quant à lui, se concentre davantage sur la collecte d'informations sur la plateforme et l'environnement d'exécution de Python. Il fournit des méthodes pour obtenir des détails tels que le nom du système d'exploitation, la version de Python, l'architecture du processeur, les informations sur la machine, etc. Son objectif principal est de faciliter l'adaptation du code en fonction des caractéristiques de la plateforme sur laquelle il s'exécute.
- En résumé: le module "os" est utilisé pour interagir avec le système d'exploitation et effectuer des opérations liées au système de fichiers, aux processus, etc. tandis que le module "platform" est utilisé pour obtenir des informations sur la plateforme d'exécution et adapter le comportement du code en fonction de ces informations. Les deux modules sont complémentaires et peuvent être utilisés ensemble pour développer des applications plus robustes et portables.
Younes Derfoufi
CRMEF OUJDA