Cours
Exécutez et modifiez le code de ce tutoriel en ligne
Exécuter le codeEn général, on apprend d’abord à écrire un script Python dans l’interpréteur en ligne de commande, puis à l’exécuter depuis le terminal. Le script est alors rédigé dans un éditeur de texte et lancé en ligne de commande. Dans cet article, nous allons voir plus en détail comment exécuter des scripts Python.
Scripts Python et interpréteurs
Les ordinateurs ne comprennent pas le code tel que nous l’écrivons. Il faut donc un interpréteur entre la machine et le code humain. Son rôle est de convertir le code dans un format que l’ordinateur peut comprendre et traiter.
L’interpréteur traite le code de la manière suivante :
-
Il lit le script Python séquentiellement
-
Il compile le code en bytecode, un langage de plus bas niveau compris par l’ordinateur.
-
Enfin, la Python Virtual Machine (PVM) entre en jeu. La PVM est le moteur d’exécution de Python. C’est un processus qui parcourt les instructions de votre bytecode bas niveau pour les exécuter une à une.
Comme les scripts, il existe les modules, qui sont des scripts Python importés et utilisés dans un autre script Python.
Un script Python est enregistré avec l’extension .py, qui indique à l’ordinateur qu’il s’agit d’un programme Python. Contrairement à Windows, les systèmes Unix comme Linux et Mac sont fournis avec Python préinstallé. Par ailleurs, la façon d’exécuter des scripts Python diffère selon que vous êtes sur Windows ou sur un système Unix.
Exécuter des scripts Python : préparation
Pour tous les utilisateurs, et en particulier sous Windows, il est vivement recommandé d’installer Anaconda, téléchargeable depuis le site d’Anaconda. Vous pouvez suivre les instructions de ce tutoriel d’installation d’Anaconda pour Windows.
Pour installer Python3 sur Windows, consultez ce tutoriel de configuration Python.
L’interpréteur en ligne de commande Python est accessible selon votre système :
- Sous
Windows, la ligne de commande s’appelle le Invite de commandes. Vous pouvez l’ouvrir via le menudémarreren recherchantinvite de commandes. Autre méthode : ouvrez la boîte de dialogueExécuter, tapezcmdpuis Entrée (Menu Démarrer $->$ Exécuter et tapez cmd). Si Python est installé sur votre lecteur C, il suffit de taper C:\python36\python.exe, où python36 correspond à la version de Python (Remarque : ce chemin peut varier selon l’emplacement d’installation).
- Sur un
Mac, c’est très simple. OuvrezLaunchpad, recherchezTerminal, puis dans le terminal tapezPython. La version de Python s’affichera.

- Comme sur Mac, accéder au terminal sous
Linuxest très facile. Cliquez droit sur le bureau et ouvrezTerminal, puis tapezPython.
Remarque : dans ce tutoriel, nous utiliserons le Terminal de macOS.
Passons tout de suite à la pratique !
Maîtrisez vos compétences en matière de données avec DataCamp
Apprenez les compétences dont vous avez besoin à votre propre rythme, des notions essentielles de non-codage à la science des données et à l'apprentissage automatique.
Écrire des scripts Python dans le terminal
Voyons comment coder et obtenir un résultat directement dans le terminal. Pour cela, commencez par taper python3, ce qui signifie que vous utilisez la version Python 3.
Vous pouvez ensuite coder comme dans un éditeur de texte ou un IDE (environnement de développement intégré), même si le terminal n’offre pas toutes les fonctionnalités d’un IDE.
Commençons par l’incontournable exemple Hello, World! et regardons le résultat dans le terminal.

Pratique : en ouvrant simplement le terminal et en tapant Python3, vous pouvez coder en Python. Essayons d’autres exemples.

À noter dans l’exemple ci-dessus : sans même utiliser l’instruction print, vous avez obtenu un résultat.
Complexifions un peu le code et utilisons la bibliothèque NumPy (Numerical Python) pour créer deux tableaux et y appliquer quelques opérations mathématiques. Pour rappel, NumPy est une bibliothèque Python capable de gérer de grands tableaux et matrices multidimensionnels, avec un large éventail de fonctions mathématiques de haut niveau pour les manipuler.

Vous pouvez voir ci-dessus qu’avec NumPy, vous avez créé, additionné et multiplié deux tableaux NumPy directement dans le terminal. À noter : la fonction multiply de NumPy effectue une multiplication élément par élément, tandis que la fonction dot calcule le produit scalaire (produit matriciel). Pour exécuter np.dot, il faut que le nombre de colonnes de la première matrice soit égal au nombre de lignes de la seconde, d’où l’erreur de valeur observée.
Comment exécuter des scripts Python depuis le terminal
Exécuter un script Python depuis le terminal est très simple : au lieu d’écrire le script dans le terminal, utilisez un éditeur de texte comme vim, emacs ou Notepad++, enregistrez le fichier avec l’extension .py. Ouvrez ensuite le terminal, placez-vous dans le répertoire contenant le code, puis lancez le script avec le mot-clé python suivi du nom du fichier.

Pour créer le fichier terminal.py, utilisez vim dans le terminal avec la commande vim terminal.py et collez-y le code ci-dessous. Pour enregistrer, appuyez sur esc puis tapez wq!. Enfin, pour exécuter le script, tapez python3 terminal.py et, en moins d’une seconde, vous verrez le résultat affiché comme ci-dessus.
Voici le code utilisé dans l’exemple précédent.
import numpy as np
x = np.array([[1,2],[3,4]], dtype=np.float64)
y = np.array([[5,6],[7,8]], dtype=np.float64)
# Elementwise sum; both produce the array
# [[ 6.0 8.0]
# [10.0 12.0]]
print("Output of adding x and y with a '+' operator:",x + y)
print("Output of adding x and y using 'numpy.add':",np.add(x, y))
# Elementwise difference; both produce the array
# [[-4.0 -4.0]
# [-4.0 -4.0]]
print("Output of subtracting x and y with a '-' operator:",x - y)
print("Output of subtracting x and y using 'numpy.subtract':",np.subtract(x, y))
# Elementwise product; both produce the array
# [[ 5.0 12.0]
# [21.0 32.0]]
print("Output of elementwise product of x and y with a '*' operator:",x * y)
print("Output of element wise product of x and y using 'numpy.multiply':",np.multiply(x, y))
# Elementwise division; both produce the array
# [[ 0.2 0.33333333]
# [ 0.42857143 0.5 ]]
print("Output of elementwise division x and y with a '/' operator:",x / y)
print("Output of elementwise division x and y using 'numpy.divide':",np.divide(x, y))
# Elementwise square root; produces the array
# [[ 1. 1.41421356]
# [ 1.73205081 2. ]]
print("Output of elementwise square root x using 'numpy.sqrt':",np.sqrt(x))
Output of adding x and y with a '+' operator: [[ 6. 8.]
[10. 12.]]
Output of adding x and y using 'numpy.add': [[ 6. 8.]
[10. 12.]]
Output of subtracting x and y with a '-' operator: [[-4. -4.]
[-4. -4.]]
Output of subtracting x and y using 'numpy.subtract': [[-4. -4.]
[-4. -4.]]
Output of elementwise product of x and y with a '*' operator: [[ 5. 12.]
[21. 32.]]
Output of element wise product of x and y using 'numpy.multiply': [[ 5. 12.]
[21. 32.]]
Output of elementwise division x and y with a '/' operator: [[0.2 0.33333333]
[0.42857143 0.5 ]]
Output of elementwise division x and y using 'numpy.divide': [[0.2 0.33333333]
[0.42857143 0.5 ]]
Output of elementwise square root x using 'numpy.sqrt': [[1. 1.41421356]
[1.73205081 2. ]]
Passer des arguments de ligne de commande à un script Python
Les arguments en ligne de commande vous simplifient la vie : ils sont très souvent utilisés dans du code prêt pour la production. Ils rendent la reproductibilité des sorties plus efficace. Par exemple, si votre code lit de nombreux fichiers ou dépend d’entrées utilisateur, les arguments vous évitent de modifier le code chaque fois que vous changez un nom de fichier ou une variable.
Pour cela, utilisez le module sys, intégré à Python. Dans sys, argv fournit la liste des arguments passés au programme Python. sys.argv lit les arguments comme une liste : le premier élément accessible est sys.argv[1], tandis que sys.argv[0] est toujours le nom du programme tel qu’il a été invoqué.
Prenons un exemple simple pour voir le fonctionnement.
Remarque : Python lit l’argument de ligne de commande comme une chaîne. Pensez à le convertir en entier si vous travaillez avec des nombres.
Comme précédemment, enregistrez les lignes ci-dessous dans un fichier nommé command_line.py, puis lancez : python3 command_line.py 10, où 10 est l’argument de ligne de commande.
import sys
num = sys.argv[1]
for i in range(int(num)):
print (i)

Que se passe-t-il si vous ne fournissez aucun argument ?
Vous obtiendrez l’erreur list index out of range, ce qui rappelle que sys.argv est bien une liste. Pour éviter ce type d’erreurs, il faut mettre en place une gestion des exceptions, ce qui dépasse le cadre de ce tutoriel.

Écrire la sortie d’un script Python dans un fichier
Pour finir, voyons comment enregistrer la sortie d’un script Python dans un fichier txt avec l’opérateur >.
Créez d’abord un dossier cli et placez-y le fichier command_line.py. Vérifiez ensuite le contenu du dossier pour vous assurer qu’aucun fichier txt n’existe déjà.
Puis tapez python3 command_line.py 10 > output.txt et vérifiez le contenu du dossier cli. Vous devriez maintenant voir le fichier output.txt.

Ouvrons et regardons le contenu du fichier output.txt.

Comme on le voit, les chiffres 0-9 ont été écrits dans un fichier texte avec un simple >.
Conclusion
Félicitations, vous êtes arrivé au bout de ce tutoriel.
Il reste beaucoup à explorer : exécution via une interface graphique en Python, exécution interactive, ou encore lancement depuis un gestionnaire de fichiers ou un IDE. Pour la ligne de commande, vous pouvez tester l’Invite de commandes Windows et comparer avec un système Unix.
Si vous débutez en Python et souhaitez aller plus loin, suivez le cours Introduction to Data Science in Python de DataCamp.
FAQ sur les scripts Python
Qu’est-ce qu’un script Python ?
Un script Python est un fichier qui contient du code Python. Ce code peut être exécuté en lançant le script, soit depuis la ligne de commande, soit en l’appelant depuis un autre script.
Comment créer un script Python ?
Pour créer un script Python, vous aurez besoin d’un éditeur de texte ou d’un environnement de développement intégré (IDE) capable d’écrire et d’enregistrer du code Python. Parmi les IDE populaires : PyCharm, IDLE et Visual Studio Code.
Pour créer un nouveau script Python, créez simplement un fichier et enregistrez-le avec l’extension .py. Vous pouvez ensuite écrire votre code Python dans ce fichier et l’enregistrer pour exécuter le script.
Puis-je exécuter un script Python en arrière-plan ?
Oui, vous pouvez exécuter un script Python en arrière-plan avec la commande nohup. Par exemple :
nohup python script.py &
Cette commande lance le script en arrière-plan et vous permet de continuer à utiliser le terminal pendant son exécution.
Comment exécuter un script Python depuis la ligne de commande ?
Pour exécuter un script Python depuis la ligne de commande, vous devez avoir Python installé sur votre système. Utilisez ensuite la commande suivante :
python script.py