Ce module procure un accès à certaines valeurs utilisées ou maintenues par l'interpréteur et à des fonctions qui interagissent fortement avec l'interpréteur. Il est toujours disponible.
argv[0] est le nom du script (selon le système il
peut s'agir ou non d'un nom de chemin complet). Si la commande
a été exécutée en utilisant l'option -c dans la ligne
de commande, argv[0] prend comme valeur la chaîne '-c'.
Si aucun nom de script n'a été passé à l'interpréteur Python,
argv a une longueur nulle.
'big' pour les plates-formes qui utilisent l'ordre big-endian
(octet le plus significatif en premier), ou la valeur 'little'
pour celles qui utilisent l'ordre little-endian (octet le moins
significatif en premier).
Nouveau en version 2.0
modules.keys() ne fournit que la liste des modules importés.)
Si aucune exception n'est en cours de traitement dans aucune pile, un
tuple contenant trois valeurs Avertissement: affecter la valeur de retour de trace
à une variable locale dans une fonction provoquera une référence
circulaire. Ceci empêchera tout objet référencé par une variable
locale dans la même fonction ou dans la trace d'être nettoyé
par le ramasse-miettes. Puisque la plupart des fonctions n'ont pas
besoin d'accéder à la trace, la meilleure solution est d'utiliser quelque
chose comme None est retourné. Sinon,
les valeurs retournées sont (type, valeur, trace).
Leur signification est la suivante: type est le type d'exception en
cours de traitement (une chaîne de caractères ou un objet classe);
valeur contient le paramètre de l'exception (sa
valeur associée ou le second argument de raise,
qui est toujours une instance de classe si le type de l'exception
est un objet classe); trace est un objet trace (voir
le Manuel de Référence) qui encapsule la pile appelante au point
où l'exception s'est déclenchée en premier.
type, valeur = sys.exc_info()[:2]
pour extraire seulement le type d'exception et la valeur. Si vous avez
vraiment besoin de la trace, assurez-vous de la détruire après
usage (le meilleur moyen est d'utiliser une instruction
try ... finally) ou d'appeler exc_info()
dans une fonction qui ne gère pas elle-même d'exception.
Déconseillé depuis la version 1.5 Utiliser exc_info() à la place.
Puisqu'il s'agit de variables globales, elles ne sont pas propres au
thread courant, leur utilisation n'est donc pas sûre dans un programme
multi-threadé. Quand aucune exception n'est en cours de traitement,
exc_type prend la valeur None et les deux autres sont
indéfinis.
'/usr/local'. Cette valeur peut aussi
être définie au moment de la construction avec l'argument
exec-prefix du script configure. Pour être
précis, tous les fichiers de configuration (par exemple le fichier
d'en-tête config.h) sont installés dans le répertoire
exec_prefix + '/lib/pythonversion/config', et les modules
de la bibliothèque partagée sont installés dans exec_prefix +
'/lib/pythonversion/lib-dynload', où version est égale
à version[:3].
None
équivaut à passer zéro, et toute autre valeur est imprimée sur
sys.stderr et produit un code de sortie de 1. En
particulier, sys.exit("un message d'erreur") est une
façon rapide de sortir d'un programme quand une erreur survient.
os._exit()
est appelée.
if sys.hexversion >= 0x010502F0:
# appeler une fonction avancée
...
else:
# appeler une implémentation différente, ou avertir l'utilisateur
...
Cette donnée s'appelle "hexversion" parce qu'il n'a de vraie
signification que quand on voit le résultat produit en le passant
à la fonction intégrée hex(). La valeur
version_info peut être utilisée pour une version plus
lisible de la même information.
Nouveau en version 1.5.2
La signification de ces variables est la même que celle des valeurs
de retour de la fonction exc_info() ci-dessus.
(Puisqu'il n'y a qu'un thread interactif, les problèmes de thread
n'ont pas de sens pour ces variables, contrairement à exc_type
etc.)
-maxint-1 - l'asymétrie résulte de l'utilisation de
l'arithmétique binaire avec complément à 2.
Le premier élément de cette liste, path[0], est le répertoire
contenant le script qui a été utilisé pour invoquer l'interpréteur
Python. Si le répertoire du script n'est pas disponible (par exemple
si l'interpréteur est lancé interactivement, ou si le script est lu
depuis l'entrée standard), path[0] est la chaîne vide, qui
indique à Python de chercher les modules dans le répertoire courant
d'abord. Notez que le répertoire du script est inséré avant
les entrées insérées à partir du résultat de $PYTHONPATH.
'sunos5' ou 'linux1'. Ceci peut être utilisé
pour ajouter des composants propres à la plate-forme dans path,
par exemple.
'/usr/local'.
Cette valeur peut être définie au moment de la construction par
l'argument prefix du script configure.
La collection principale de modules de la bibliothèque Python
est installée dans le répertoire prefix +
'/lib/pythonversion' tandis que les fichiers d'en-tête
indépendants de la plate-forme (tous sauf config.h) sont
rangés dans prefix + '/include/pythonversion', où
version est égal à version[:3].
'>>> ' et '... '. Si on affecte un objet
autre qu'une chaîne de caractères à l'une ou l'autre de ces variables,
leur str() est réévaluée à chaque fois que l'interpréteur
se prépare à lire une nouvelle commande interactive; ceci peut être
utilisé pour implémenter une invite dynamique.
10, ce qui signifie que la vérification
est effectuée toutes les 10 instructions virtuelles de Python. Lui affecter
une valeur supérieure peut augmenter les performances des programmes qui
utilisent des threads. Lui affecter une valeur <= 0 provoque la
vérification à chaque instruction virtuelle, ce qui maximise la réactivité
mais aussi la redondance.
None.
La limite la plus élevée possible dépend de la plate-forme. Un utilisateur peut avoir besoin de fixer la limite à une valeur élevée si son programme nécessite une récursion profonde et que sa plate-forme supporte une valeur élevée. Il faut manipuler cette valeur avec prudence, parce qu'une limite trop haute peut conduire à un plantage.
stdin est utilisé pour toutes les entrées de
l'interpréteur sauf pour les scripts mais y compris pour les appels à
input() et à
raw_input(). stdout est
utilisé pour la sortie de print et des instructions d'expression
et pour les invites de input() et de raw_input().
Les invites de l'interpréteur et (presque tous) ses messages d'erreur
vont sur stderr. stdout et stderr n'ont pas besoin
d'être des objets fichier intégrés: tout objet est acceptable à partir
du moment où il possède une méthode write() qui accepte un
argument chaîne de caractères. (Changer ces objets n'affecte pas les
flux standard d'entrée-sortie des processus exécutés par
os.popen(), os.system() ou la famille des
fonctions exec*() dans le module os.)
stdin,
stderr et stdout au début du programme. Ils sont
utilisés pendant la dernière mise au point, et peuvent être
utiles pour revenir à des objets fichiers au fonctionnement
connu au cas où les fichiers courants ont été écrasés par un objet abîmé.
1000. Quand sa valeur est fixée à 0 ou
moins, toute information de trace est supprimée et seuls le
type d'exception et sa valeur sont affichés.
'version
(#numéro_construction,date_construction, date_construction)
[compilateur]'. Les trois premiers caractères servent à identifier
la version dans les répertoires d'installation (à l'endroit approprié
sur chaque plate-forme). Un exemple:
>>> import sys >>> sys.version '1.5.2 (#0 Apr 13 1999, 10:51:12) [MSC 32 bit (Intel)]'
Un tuple contenant les cinq composants du numéro de version:
majeur, mineur, micro, niveauversion, et
serie. Toutes les valeurs sauf niveauversion sont des entiers;
le niveau de version est 'alpha', 'beta',
'candidate', ou 'final'. La valeur version_info
correspondant à la version 2.0 de Python est
(2, 0, 0, 'final', 0).
Nouveau en version 2.0