L'interpréteur Python est habituellement installé à l'emplacement /usr/local/bin/python sur les machines Unix sur lesquelles il est disponible; placer /usr/local/bin dans le path de votre shell Unix permet de le lancer en tapant la commande
python
sous le shell. Puisque le choix du répertoire dans lequel est installé l'interpréteur est une option d'installation, d'autres endroits sont possibles; vérifiez avec votre gourou Python local ou votre administrateur système. (Par exemple, /usr/local/python est un autre emplacement populaire.)
Tapez le caractère EOF (Control-D sur Unix, Control-Z sur DOS ou Windows) à l'invite (prompt) principale pour quitter l'interpréteur avec un code de retour de zéro. Si ça ne marche pas, vous pouvez quitter l'interpréteur en tapant les commandes suivantes: "import sys; sys.exit()".
Les fonctions d'édition de ligne de l'interpréteur ne sont
habituellement pas très sophistiquées. Sur Unix, celui qui a
installé l'interpréteur peut avoir activé le support de la
bibliothèque GNU Readline, qui ajoute une édition interactive plus
élaborée et des fonctions d'historique. Peut-être la vérification la
plus rapide pour savoir si l'édition de ligne de commande est supportée
consiste à taper Control-P au premier prompt affiché par Python. Si ça
fait un bip, vous disposez de l'édition de ligne de commande; voir l'Annexe A
pour une introduction aux touches. Si rien ne semble se passer, ou si
P
est affiché, l'édition de ligne de commande n'est pas
disponible; vous pourrez seulement utiliser backspace pour enlever des
caractères de la ligne courante.
L'interpréteur fonctionne en quelque sorte comme le shell Unix: lorsqu'il est lancé avec l'entrée standard connectée à un périphérique tty, il lit et exécute les commandes interactivement; lorsqu'il est lancé avec un nom de fichier en argument ou avec un fichier comme entrée standard, il lit et exécute un script depuis ce fichier.
Une troisième façon de lancer l'interpréteur est "python -c
commande [arg] ...", ce qui exécute les instructions dans
commande
, de façon analogue à l'option -c
du shell.
Puisque les instructions en Python contiennent souvent des espaces ou
d'autres caractères qui sont spéciaux pour le shell, il est conseillé
de mettre entièrement entre guillemets (doubles quotes) la commande
.
Notez qu'il y a une différence entre "python fichier" et
"python <fichier". Dans le second cas, les requêtes en entrée du
programme, comme les appels à input()
et raw_input()
,
sont effectuées depuis fichier. Puisque ce fichier a déjà été lu
jusqu'à la fin par l'interpréteur avant que le programme ne commence à
s'exécuter, le programme rencontrera immédiatement EOF. Dans le premier
cas (qui est habituellement ce qu'on souhaite) les requêtes sont satisfaites
par l'éventuel fichier ou périphérique qui est connecté à l'entrée
standard de l'interpréteur Python.
Lorsqu'un fichier script est utilisé, il est parfois utile de pouvoir
lancer le script et de passer ensuite en mode interactif. Ceci peut
être fait en passant en paramètre -i
avant le script. (Ceci ne
marche pas si le script est lu depuis l'entrée standard, pour la même
raison expliquée dans le paragraphe précédent.)
Lorsqu'ils sont connus de l'interpréteur, le nom du script et les
paramètres supplémentaires sont passés au script dans la variable
sys.argv
, qui est une liste de chaînes. Sa longueur est d'au
moins un; quand aucun script ou arguments n'est donné,
sys.argv[0]
est une chaîne vide. Lorsque le nom du script donné
est '-'
(c'est à dire l'entrée standard), sys.argv[0]
est positionné à '-'
. Quand -c commande
est utilisé,
sys.argv[0]
est positionné à '-c'
. Les options trouvées
après -c commande
ne sont pas retirées par le traitement des
options de l'interpréteur Python mais laissées dans sys.argv
pour être traitées par la commande
.
Quand les commandes sont lues depuis un terminal, l'interpréteur fonctionne en mode interactif. Dans ce mode, il demande la commande suivante avec le prompt principal, habituellement trois signes supérieur ("»> "); pour les lignes de continuation, il questionne avec le prompt secondaire, par défaut trois points ("... "). L'interpréteur imprime un message de bienvenue spécifiant son numéro de version et une notice de copyright avant d'afficher le prompt principal, par ex.:
python Python 1.5.2b2 (#1, Feb 28 1999, 00:02:06) [GCC 2.8.1] on sunos5 Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam >>>
Les lignes de continuation sont nécessaires lorsqu'on saisit une construction sur plusieurs lignes. Comme exemple, voici une instruction if:
>>> le_monde_est_plat = 1 >>> if le_monde_est_plat: ... print "Gaffe à pas tomber par dessus bord!" ... Gaffe à pas tomber par dessus bord!
Quand une erreur survient, l'interpréteur imprime un message d'erreur
et une trace de l'état de la pile. En mode interactif, il retourne alors au
prompt principal; lorsque l'entrée se fait depuis un fichier, il termine l'exécution avec
un code de sortie différent de zéro après avoir imprimé la trace de
pile. (Les exceptions gérées par une clause except
dans une
instruction try
ne sont pas des erreurs dans ce contexte; voir 8.2.)
Certaines erreurs sont fatales dans tous les cas et causent une sortie
avec un code différent de zéro; ceci se produit pour les aberrations
internes et certains cas de saturation mémoire. Tous les messages
d'erreur sont écrits sur la sortie d'erreur standard; l'affichage
normal des commandes exécutées est effectué sur la sortie standard.
Taper le caractère d'interruption (habituellement Control-C ou DEL) au
prompt principal ou secondaire annule la saisie et revient au prompt
principal.2.1Taper le caractère d'interruption pendant l'exécution d'une commande déclenche
l'exception KeyboardInterrupt
, qui peut être gérée par une
instruction try
.
Sur les systèmes Unix à la BSD, les scripts Python peuvent être rendus directement exécutables, comme les shell-scripts, en plaçant la ligne
#! /usr/bin/env python
(en supposant que l'interpréteur est dans le $PATH de l'utilisateur au lancement du script) et rendant le fichier exécutable. Le "#!" doit correspondre aux deux premiers caractères du fichier.
Quand vous utilisez Python de façon interactive, il est souvent pratique que certaines commandes standard soient exécutées à chaque fois que l'interpréteur est lancé. Vous pouvez faire ceci en donnant à la variable d'environnement $PYTHONSTARTUP la valeur du nom d'un fichier contenant vos commandes de démarrage. Ceci est analogue à l'utilisation du .profile pour les shells Unix.
Ce fichier est seulement lu avant les sessions interactives, non pas
lorsque Python lit ses commandes dans un script, ni lorsque
/dev/tty est fourni comme source explicite pour les commandes
(ce qui pour le reste se comporte comme une session interactive). Il
est exécuté dans le même espace de noms que celui où sont exécutées
les commandes interactives, de sorte que les objets qu'il définit
ou importe peuvent être utilisés directement dans la session
interactive. Vous pouvez aussi changer les invites sys.ps1
et
sys.ps2
dans ce fichier.
Si vous voulez lire un fichier de lancement additionnel depuis le répertoire courant, vous pouvez programmer cela dans le fichier de démarrage global, par ex. "execfile('.pythonrc')". Si vous voulez utiliser le fichier de démarrage dans un script, vous devez le faire explicitement dans le script:
import os filename = os.environ.get('PYTHONSTARTUP') if filename and os.path.isfile(filename): execfile(filename)