Notions de base : Python et Bash

PythonBeginner
Pratiquer maintenant

Introduction

Pour automatiser des tâches sous Linux, Bash est particulièrement efficace pour relier des outils en ligne de commande. Cependant, lorsque la logique devient plus complexe, Python est souvent un meilleur choix, car il offre une structure plus claire, une meilleure gestion des données et une bibliothèque standard riche.

C’est pourquoi de nombreuses équipes d’exploitation utilisent les deux langages : Bash pour les tâches courtes propres au shell, et Python pour les scripts d’automatisation plus faciles à maintenir.

Dans ce laboratoire, vous ferez vos premiers pas avec Python dans un environnement Linux. Vous apprendrez à vérifier la version de Python, à utiliser le shell interactif pour effectuer des tests rapides et à écrire un script Python qui se comporte comme une commande Linux native.

Vérifier la version de Python

Avant d’écrire du code, il est essentiel de savoir quelle version de l’interpréteur Python est installée sur votre système. La plupart des distributions Linux modernes, notamment le système Ubuntu que vous utilisez, incluent Python 3 préinstallé.

Dans le cadre de l’exploitation des systèmes, cette vérification sert également à garantir la compatibilité. Selon les versions de Python, certaines fonctionnalités du langage ou certains comportements des bibliothèques peuvent apparaître ou disparaître. Un script qui fonctionne sur une machine peut échouer sur une autre si vous supposez implicitement que l’interpréteur est identique partout.

Dans cette étape, vous allez vérifier la version de Python 3 installée. Vous vous assurerez ainsi que l’environnement est prêt pour les scripts que vous écrirez ensuite.

Ouvrez votre terminal et exécutez la commande suivante pour vérifier la version :

python3 --version

Vous devriez obtenir une sortie semblable à celle-ci :

Python 3.10.12

Le numéro de version exact peut varier légèrement. Tant qu’il s’agit de Python 3.x, vous pouvez continuer. Notez que nous utilisons explicitement python3, car sur certains anciens systèmes, python (sans le 3) peut désigner l’ancien Python 2, désormais obsolète, ou ne pas être lié à un interpréteur.

Utiliser le REPL

Python fournit un shell interactif, souvent appelé REPL (Read-Eval-Print Loop). Cet outil est très pratique pour tester des extraits de code, vérifier la disponibilité de bibliothèques ou effectuer rapidement des calculs sans créer de fichier.

Le REPL est utile parce qu’il raccourcit le cycle de vérification. Au lieu de modifier un fichier, de l’enregistrer et de l’exécuter plusieurs fois, vous pouvez tester une expression à la fois. De nombreux ingénieurs utilisent le REPL comme une invite de commande shell : ils y font des essais avant de transformer une idée en véritable script.

Dans cette étape, vous allez ouvrir le shell interactif Python, exécuter une commande simple, puis revenir au shell Bash.

Commencez par lancer le shell interactif Python 3 en saisissant :

python3

Votre invite de commande devient >>>. Cela indique que vous êtes maintenant dans l’environnement Python.

Saisissez ensuite une commande Python simple pour afficher un message :

print("Hello from Python REPL")

Le résultat s’affiche immédiatement.

Pour quitter le shell Python et revenir à votre shell Bash Linux habituel, saisissez :

exit()

Vous pouvez également appuyer sur Ctrl + D.

Après avoir quitté Python, vous devriez retrouver votre invite de commande habituelle, par exemple labex:~/project $.

Créer un script

Le REPL est idéal pour effectuer des tests, mais une véritable automatisation nécessite d’enregistrer le code dans des scripts. Un script Python est simplement un fichier texte contenant du code Python.

L’avantage pratique d’un script par rapport à une commande ponctuelle est sa répétabilité. Une fois la logique enregistrée dans un fichier, vous pouvez la relire, la versionner avec Git, la réexécuter le lendemain et la transmettre à un autre ingénieur sans rien retaper.

Dans cette étape, vous allez créer un fichier nommé system_info.py.

Utilisez l’éditeur de texte nano pour créer et ouvrir le fichier :

nano system_info.py

Ajoutez le contenu suivant au fichier :

print("Starting system info script...")

Pour enregistrer le fichier et quitter nano :

Dans l’éditeur nano, appuyez sur Ctrl + O, puis sur Enter pour confirmer le nom du fichier. Enfin, appuyez sur Ctrl + X pour quitter l’éditeur et revenir au terminal.

Vérifiez maintenant que le fichier a bien été créé :

ls -l system_info.py

Utiliser la bibliothèque standard

L’un des principaux atouts de Python est sa bibliothèque standard « batteries included », c’est-à-dire riche en fonctions prêtes à l’emploi. Contrairement à Bash, où vous devez souvent analyser la sortie de commandes comme uname ou cat /etc/os-release, Python fournit des modules intégrés permettant d’accéder proprement aux informations du système.

C’est l’une des raisons pour lesquelles Python est très utilisé dans les outils d’exploitation. Au lieu d’assembler de nombreuses petites commandes de traitement de texte, vous pouvez manipuler directement des fonctions et des objets structurés. Les scripts sont ainsi généralement plus faciles à lire et moins fragiles lorsque le format de sortie change.

Dans cette étape, vous allez modifier votre script pour utiliser la bibliothèque platform et afficher des informations sur le système d’exploitation.

Ouvrez de nouveau votre script avec nano :

nano system_info.py

Modifiez son contenu afin d’obtenir ceci :

import platform

print("Starting system info script...")
print(f"System: {platform.system()}")
print(f"Release: {platform.release()}")
print(f"Version: {platform.version()}")

Enregistrez le fichier et quittez nano (Ctrl+O, Enter, Ctrl+X).

Vous pouvez tester votre script en le transmettant explicitement à l’interpréteur Python :

python3 system_info.py

Vous devriez voir une sortie contenant des informations détaillées sur votre environnement Linux.

Exécuter le script

Dans les étapes précédentes, vous avez exécuté le script avec python3 system_info.py.

Appeler explicitement l’interpréteur est la méthode la plus claire pour les débutants, car elle élimine toute ambiguïté. Le shell n’a pas besoin de déterminer comment exécuter le fichier, et vous voyez exactement quel interpréteur exécute votre code.

Dans l’utilisation standard de Linux, vous pouvez parfois voir des scripts exécutés directement, par exemple avec ./system_info.py. Cela nécessite deux éléments :

  1. La ligne « shebang » (que nous avons ignorée).
  2. Les permissions « execute » sur le fichier.

Comme nous travaillons dans un environnement simplifié sans shebang, nous utiliserons la méthode la plus fiable : exécuter explicitement le script avec l’interpréteur Python.

Exécutez encore une fois votre script pour vérifier qu’il fonctionne toujours :

python3 system_info.py

Cette commande explicite indique précisément à Linux quoi faire : utiliser le programme python3 pour lire et exécuter les instructions du fichier system_info.py.

Résumé

Dans ce laboratoire, vous avez réussi à faire le lien entre Bash et Python. Vous avez appris à :

  • Vérifier la version de Python pour garantir la compatibilité de l’environnement.
  • Utiliser le REPL pour effectuer des tests interactifs.
  • Créer un script Python.
  • Utiliser la bibliothèque standard platform pour accéder aux données du système.
  • Exécuter le script avec la commande python3.

Ces compétences constituent la base des scripts Python sous Linux. Elles vous permettent d’écrire des outils d’automatisation plus complexes et plus lisibles que ceux que Bash permet généralement de créer seul.