Apprenez à programmer en Python
Last updated on Monday, September 8, 2014
  • 4 semaines
  • Facile

Free online content available in this course.

Paperback available in this course

eBook available in this course.

Certificate of achievement available at the end this course

Got it!

Écrire nos programmes Python dans des fichiers

Ce petit chapitre vous explique comment mettre votre code Python dans un fichier pour l'exécuter. Vous pouvez lire ce chapitre très rapidement tant que vous savez à quoi sert la fonction print, c'est tout ce dont vous avez besoin.

Mettre le code dans un fichier

Pour placer du code dans un fichier que nous pourrons ensuite exécuter, la démarche est très simple :

  1. Ouvrez un éditeur standard sans mise en forme (Notepad++, VIM ou Emacs…). Dans l'absolu, le bloc-notes Windows est aussi candidat mais il reste moins agréable pour programmer (pas de coloration syntaxique du code, notamment).

  2. Dans ce fichier, recopiez simplement print("Bonjour le monde !"), comme à la figure suivante.

  3. Enregistrez ce code dans un fichier à l'extension .py, comme à la figure suivante. Cela est surtout utile sur Windows.

Télécharger Notepad++

Une ligne de code dans Notepad++
Un fichier .py sous Windows

Exécuter notre code sur Windows

Dans l'absolu, vous pouvez faire un double-clic sur le fichier à l'extension .py, dans l'explorateur de fichiers. Mais la fenêtre s'ouvre et se referme très rapidement. Pour éviter cela, vous avez trois possibilités :

  • mettre le programme en pause (voir la dernière section de ce chapitre) ;

  • lancer le programme depuis la console Windows (je ne m'attarderai pas ici sur cette solution) ;

  • exécuter le programme avec IDLE.

C'est cette dernière opération que je vais détailler brièvement. Faites un clic droit sur le fichier .py. Dans le menu contextuel, vous devriez voir apparaître un intitulé du type edit with IDLE. Cliquez dessus.

La fenêtre d'IDLE devrait alors s'afficher.
Vous pouvez voir votre code, ainsi que plusieurs boutons. Cliquez sur run puis sur run module (ou appuyez sur F5 directement).

Le code du programme devrait alors se lancer. Cette fois, la fenêtre de console reste ouverte pour que vous puissiez voir le résultat ou les erreurs éventuelles.

Sur les systèmes Unix

Il est nécessaire d'ajouter, tout en haut de votre programme, une ligne qui indique le chemin menant vers l'interpréteur. Elle se présente sous la forme : #!/chemin.

Les habitués du Bash devraient reconnaître cette ligne assez rapidement. Pour les autres, sachez qu'il suffit de mettre à la place de « chemin » le chemin absolu de l'interpréteur (le chemin qui, en partant de la racine du système, mène à l'interpréteur Python). Par exemple :

#!/usr/bin/python3.4

En changeant les droits d'accès en exécution sur le fichier, vous devriez pouvoir le lancer directement.

Préciser l'encodage de travail

À partir du moment où vous mettez des accents dans votre programme, vous devrez préciser l'encodage que vous utilisez pour l'écrire.

Décrit très brièvement, l'encodage est une table contenant une série de codes symbolisant différents accents. Il existe deux encodages très utilisés : l'encodage Latin-1 sur Windows et l'encodage Utf-8 que l'on retrouve surtout sur les machines Unix.

Vous devez préciser à Python dans quel encodage vous écrivez votre programme. La plupart du temps, sur Windows, ce sera donc Latin-1, alors que sur Linux et Mac ce sera plus vraisemblablement Utf-8.

Une ligne de commentaire doit être ajoutée tout en haut de votre code (si vous êtes sur un système Unix, sous la ligne qui fournit le chemin menant vers l'interpréteur). Cette ligne s'écrit ainsi :

# -*-coding:encodage -*

Remplacez encodage par l'encodage que vous utilisez en fonction de votre système.

Sur Windows, on trouvera donc plus vraisemblablement : # -*-coding:Latin-1 -*

Sur Linux ou Mac, ce sera plus vraisemblablement : # -*-coding:Utf-8 -*

Gardez la ligne qui fonctionne chez vous et n'oubliez pas de la mettre en tête de chacun de vos fichiers exécutables Python.

Pour en savoir plus sur l'encodage, je vous renvoie vers le cours Du Latin-1 à l'Unicode sur OpenClassrooms.

Mettre en pause notre programme

Sur Windows se pose un problème : si vous lancez votre programme en faisant directement un double-clic dessus dans l'explorateur, il aura tendance à s'ouvrir et se fermer très rapidement. Python exécute bel et bien le code et affiche le résultat, mais tout cela très rapidement. Et une fois que la dernière ligne de code a été exécutée, Windows ferme la console.

Pour pallier ce problème, on peut demander à Python de se mettre en pause à la fin de l'exécution du code.

Il va falloir ajouter deux lignes, l'une au début de notre programme et l'autre tout à la fin. La première importe le module os et la seconde utilise une fonction de ce module pour mettre en pause le programme. Si vous ne savez pas ce qu'est un module, ne vous en faites pas : le code suffira, un chapitre dans la première partie vous explique ce dont il s'agit.

# -*-coding:Latin-1 -*
import os # On importe le module os
print("Bonjour le monde !")
os.system("pause")

Ce sont les lignes 2 et 4 qui sont nouvelles pour nous et que vous devez retenir. Quand vous exécutez ce code, vous obtenez :

Bonjour le monde !
Appuyez sur une touche pour continuer...

Vous pouvez donc lancer ce programme en faisant directement un double-clic dessus dans l'explorateur de fichiers.

Si vous voulez mettre en pause votre programme sur Linux ou Mac, vous devrez utiliser un autre moyen. Même si la fonction input n'est pas faite pour, vous pouvez l'utiliser conclure votre programme par la ligne :

input("Appuyez sur ENTREE pour fermer ce programme...")

En résumé

  • Pour créer un programme Python, il suffit d'écrire du code dans un fichier (de préférence avec l'extension .py).

  • Si on utilise des accents dans le code, il est nécessaire de préciser, en tête de fichier, l'encodage utilisé.

  • Sur Windows, pour lancer notre programme Python depuis l'explorateur, il faut le mettre en pause grâce au module os et à sa fonction system.

Example of certificate of achievement
Example of certificate of achievement