28.1. sys
— Paramètres et fonctions propres à des systèmes¶
Ce module fournit un accès à certaines variables utilisées et maintenues par l’interpréteur, et à des fonctions interagissant fortement avec ce dernier. Ce module est toujours disponible.
-
sys.
argv
¶ La liste des arguments de la ligne de commande passés à un script Python.
argv[0]
est le nom du script (chemin complet, ou non, en fonction du système d’exploitation). Si la commande a été exécutée avec l’option-c
de l’interpréteur,argv[0]
vaut la chaîne'-c'
. Si aucun nom de script n’a été donné à l’interpréteur Python,argv[0]
sera une chaîne vide.Pour boucler sur l’entrée standard, ou la liste des fichiers donnés sur la ligne de commande, utilisez le module
fileinput
.
-
sys.
byteorder
¶ Un indicateur de l’ordre natif des octets. Vaudra
'big'
sur les plateformes gros-boutistes (octet le plus significatif en premier), et'little'
sur les plateformes petit-boutiste (octet le moins significatif en premier).Nouveau dans la version 2.0.
-
sys.
builtin_module_names
¶ Un tuple de chaînes de caractères donnant les noms de tous les modules compilés dans l’interpréteur Python. (Cette information n’est pas disponible autrement —
`modules.keys()
liste seulement les modules importés.)
-
sys.
call_tracing
(func, args)¶ Appelle
func(*args)
, avec le traçage activé. L’état du traçage est sauvegardé et restauré après l’appel. Ceci est destiné à être appelé depuis un débogueur à partir d’un point de contrôle, pour déboguer récursivement un autre code.
-
sys.
copyright
¶ Une chaîne contenant le copyright relatif à l’interpréteur Python.
-
sys.
_clear_type_cache
()¶ Vide le cache interne de types. Le cache de types est utilisé pour accélérer les recherches d’attributs et de méthodes. N’utilisez cette fonction que pour libérer des références inutiles durant le débogage de fuite de référence.
Cette fonction ne devrait être utilisée que pour un usage interne et spécialisé.
Nouveau dans la version 2.6.
-
sys.
_current_frames
()¶ Renvoie un dictionnaire faisant correspondre chaque identifiant de fil d’exécution à la stack frame actuellement active pour ces fils d’exécution au moment où la fonction est appelée. Notez que les fonctions du module
traceback
peuvent construire une call stack à partir d’une telle frame.N’ayant pas besoin de la coopération des fils d’exécution bloqués, cette fonction est très utile pour déboguer un deadlock. Aussi, les call stack de ces fils d’exécution ne changeront pas tant qu’ils seront bloqués. La frame renvoyée pour un fil d’exécution non bloqué peut ne plus être liée à l’activité courante du fil d’exécution au moment où le code appelant examine la frame.
Cette fonction ne devrait être utilisée que pour un usage interne et spécialisé.
Nouveau dans la version 2.5.
-
sys.
dllhandle
¶ Nombre entier spécifiant le descripteur de la DLL Python. Disponibilité : Windows.
-
sys.
displayhook
(value)¶ If value is not
None
, this function prints it tosys.stdout
, and saves it in__builtin__._
.sys.displayhook
est appelé avec le résultat de l’évaluation d’une expression entrée dans une session Python interactive. L’affichage de ces valeurs peut être personnalisé en assignant une autre fonction d’un argument àsys.displayhook
.
-
sys.
dont_write_bytecode
¶ If this is true, Python won’t try to write
.pyc
or.pyo
files on the import of source modules. This value is initially set toTrue
orFalse
depending on the-B
command line option and thePYTHONDONTWRITEBYTECODE
environment variable, but you can set it yourself to control bytecode file generation.Nouveau dans la version 2.6.
-
sys.
excepthook
(type, value, traceback)¶ Cette fonction affiche la traceback et l’exception donnée sur
sys.stderr
.Lorsqu’une exception est levée et n’est pas attrapée, l’interpréteur appelle
sys.excepthook
avec trois arguments, la classe de l’exception, l’instance de l’exception, et un objet traceback. Dans une session interactive, cela se produit juste avant que le que l’invite soit rendue. Dans un programme Python, cela se produit juste avant que le programme quitte. La gestion de ces exceptions peut être personnalisé en affectant une autre fonction de trois arguments àsys.excepthook
.
-
sys.
__displayhook__
¶ -
sys.
__excepthook__
¶ Ces objets contiennent les valeurs originales de
displayhook
etexcepthook
au début du programme. Elles sont sauvegardées de façon à ce quedisplayhook
etexcepthook
puisse être restaurées au cas où elles seraient remplacées par des objets cassés.
-
sys.
exc_info
()¶ This function returns a tuple of three values that give information about the exception that is currently being handled. The information returned is specific both to the current thread and to the current stack frame. If the current stack frame is not handling an exception, the information is taken from the calling stack frame, or its caller, and so on until a stack frame is found that is handling an exception. Here, « handling an exception » is defined as « executing or having executed an except clause. » For any stack frame, only information about the most recently handled exception is accessible.
If no exception is being handled anywhere on the stack, a tuple containing three
None
values is returned. Otherwise, the values returned are(type, value, traceback)
. Their meaning is: type gets the exception type of the exception being handled (a class object); value gets the exception parameter (its associated value or the second argument toraise
, which is always a class instance if the exception type is a class object); traceback gets a traceback object (see the Reference Manual) which encapsulates the call stack at the point where the exception originally occurred.If
exc_clear()
is called, this function will return threeNone
values until either another exception is raised in the current thread or the execution stack returns to a frame where another exception is being handled.Avertissement
Assigning the traceback return value to a local variable in a function that is handling an exception will cause a circular reference. This will prevent anything referenced by a local variable in the same function or by the traceback from being garbage collected. Since most functions don’t need access to the traceback, the best solution is to use something like
exctype, value = sys.exc_info()[:2]
to extract only the exception type and value. If you do need the traceback, make sure to delete it after use (best done with atry
…finally
statement) or to callexc_info()
in a function that does not itself handle an exception.Note
Beginning with Python 2.2, such cycles are automatically reclaimed when garbage collection is enabled and they become unreachable, but it remains more efficient to avoid creating cycles.
-
sys.
exc_clear
()¶ This function clears all information relating to the current or last exception that occurred in the current thread. After calling this function,
exc_info()
will return threeNone
values until another exception is raised in the current thread or the execution stack returns to a frame where another exception is being handled.This function is only needed in only a few obscure situations. These include logging and error handling systems that report information on the last or current exception. This function can also be used to try to free resources and trigger object finalization, though no guarantee is made as to what objects will be freed, if any.
Nouveau dans la version 2.3.
-
sys.
exc_type
¶ -
sys.
exc_value
¶ -
sys.
exc_traceback
¶ Obsolète depuis la version 1.5: Use
exc_info()
instead.Since they are global variables, they are not specific to the current thread, so their use is not safe in a multi-threaded program. When no exception is being handled,
exc_type
is set toNone
and the other two are undefined.
-
sys.
exec_prefix
¶ A string giving the site-specific directory prefix where the platform-dependent Python files are installed; by default, this is also
'/usr/local'
. This can be set at build time with the--exec-prefix
argument to the configure script. Specifically, all configuration files (e.g. thepyconfig.h
header file) are installed in the directoryexec_prefix/lib/pythonX.Y/config
, and shared library modules are installed inexec_prefix/lib/pythonX.Y/lib-dynload
, where X.Y is the version number of Python, for example2.7
.
-
sys.
executable
¶ Une chaîne donnant le chemin absolu vers l’interpréteur Python, un fichier binaire exécutable, sur les système sur lesquels ça à du sens. Si Python n’est pas capable de récupérer le chemin réel de son exécutable,
sys.executable
sera une chaîne vide ouNone
.
-
sys.
exit
([arg])¶ Quitte Python. C’est implémente en levant l’exception
SystemExit
, afin que toutes les actions de nettoyage spécifiées par des clauses finally des instructionstry
soient correctement exécutées. Il est aussi possible d’intercepter la tentative de sortie à un niveau au dessus.The optional argument arg can be an integer giving the exit status (defaulting to zero), or another type of object. If it is an integer, zero is considered « successful termination » and any nonzero value is considered « abnormal termination » by shells and the like. Most systems require it to be in the range 0–127, and produce undefined results otherwise. Some systems have a convention for assigning specific meanings to specific exit codes, but these are generally underdeveloped; Unix programs generally use 2 for command line syntax errors and 1 for all other kind of errors. If another type of object is passed,
None
is equivalent to passing zero, and any other object is printed tostderr
and results in an exit code of 1. In particular,sys.exit("some error message")
is a quick way to exit a program when an error occurs.Puisque la fonction
exit()
ne fait « que » lever une exception, elle ne fera quitter le processus que si elle est appelée depuis le fil d’exécution principal, et que l’exception n’est pas interceptée.
-
sys.
exitfunc
¶ This value is not actually defined by the module, but can be set by the user (or by a program) to specify a clean-up action at program exit. When set, it should be a parameterless function. This function will be called when the interpreter exits. Only one function may be installed in this way; to allow multiple functions which will be called at termination, use the
atexit
module.Note
The exit function is not called when the program is killed by a signal, when a Python fatal internal error is detected, or when
os._exit()
is called.Obsolète depuis la version 2.4: Use
atexit
instead.
-
sys.
flags
¶ The struct sequence flags exposes the status of command line flags. The attributes are read only.
attribut
option
debug
py3k_warning
division_warning
division_new
interactive
optimize
no_user_site
no_site
ignore_environment
tabcheck
verbose
bytes_warning
hash_randomization
Nouveau dans la version 2.6.
Nouveau dans la version 2.7.3: L’attribut
hash_randomization
.
-
sys.
float_info
¶ A structseq holding information about the float type. It contains low level information about the precision and internal representation. The values correspond to the various floating-point constants defined in the standard header file
float.h
for the “C” programming language; see section 5.2.4.2.2 of the 1999 ISO/IEC C standard [C99], “Characteristics of floating types”, for details.attribut
macro float.h
explication
epsilon
DBL_EPSILON
différence entre 1 et la plus petite valeur plus grande que 1 représentable en float
dig
DBL_DIG
nombre maximum de décimales pouvant être représentées fidèlement dans un float (voir ci-dessous)
mant_dig
DBL_MANT_DIG
précision : nombre de base-
radix
chiffres dans la mantisse du floatDBL_MAX
plus grand float fini représentable
max_exp
DBL_MAX_EXP
plus grand nombre entier e tel que
radix**(e-1)
soit représentable sous forme de float finitmax_10_exp
DBL_MAX_10_EXP
plus grand nombre entier e tel que
10**e
est dans l’intervalle des nombre flottants finisDBL_MIN
plus petit nombre à virgule flottante positif normalisé
min_exp
DBL_MIN_EXP
plus petit entier e tel que
radix**(e-1)
est un float normalisémin_10_exp
DBL_MIN_10_EXP
plus petit nombre entier e tel que
10**e
est un nombre à virgule flottante normaliséradix
FLT_RADIX
base de la représentation de l’exposant
rounds
FLT_ROUNDS
constante, nombre entier représentant le mode d’arrondi utilisé pour les opérations arithmétiques. Elle reflète la valeur de la macro système FLT_ROUNDS au moment du démarrage de l’interpréteur. Voir section 5.2.4.4.2.2 de la norme C99 pour une explication des valeurs possibles et de leurs significations.
L’attribut
sys.float_info.dig
nécessite plus d’explications : Sis
est une chaîne représentant un nombre décimal avec au plussys.float_info.dig
chiffres significatifs, alors, convertirs
en un nombre à virgule flottante puis à nouveau en chaîne redonnera la même valeur :>>> import sys >>> sys.float_info.dig 15 >>> s = '3.14159265358979' # decimal string with 15 significant digits >>> format(float(s), '.15g') # convert to float and back -> same value '3.14159265358979'
Cependant, pour les chaînes avec plus de
sys.float_info.dig
chiffres significatifs, ce n’est pas toujours vrai :>>> s = '9876543211234567' # 16 significant digits is too many! >>> format(float(s), '.16g') # conversion changes value '9876543211234568'
Nouveau dans la version 2.6.
-
sys.
float_repr_style
¶ A string indicating how the
repr()
function behaves for floats. If the string has value'short'
then for a finite floatx
,repr(x)
aims to produce a short string with the property thatfloat(repr(x)) == x
. This is the usual behaviour in Python 2.7 and later. Otherwise,float_repr_style
has value'legacy'
andrepr(x)
behaves in the same way as it did in versions of Python prior to 2.7.Nouveau dans la version 2.7.
-
sys.
getcheckinterval
()¶ Renvoie le check interval de l’interpréteur, voir
setcheckinterval()
.Nouveau dans la version 2.3.
-
sys.
getdefaultencoding
()¶ Renvoie le nom du codage par défaut actuellement utilisé par l’implémentation Unicode pour coder les chaînes.
Nouveau dans la version 2.0.
-
sys.
getdlopenflags
()¶ Return the current value of the flags that are used for
dlopen()
calls. The flag constants are defined in thedl
andDLFCN
modules. Availability: Unix.Nouveau dans la version 2.2.
-
sys.
getfilesystemencoding
()¶ Return the name of the encoding used to convert Unicode filenames into system file names, or
None
if the system default encoding is used. The result value depends on the operating system:Sur Mac OS X, l’encodage est
'utf-8'
.On Unix, the encoding is the user’s preference according to the result of nl_langinfo(CODESET), or
None
if thenl_langinfo(CODESET)
failed.On Windows NT+, file names are Unicode natively, so no conversion is performed.
getfilesystemencoding()
still returns'mbcs'
, as this is the encoding that applications should use when they explicitly want to convert Unicode strings to byte strings that are equivalent when used as file names.On Windows 9x, the encoding is
'mbcs'
.
Nouveau dans la version 2.3.
-
sys.
getrefcount
(object)¶ Donne le nombre de référence de l’objet object. Le nombre renvoyé est généralement d’une référence de plus qu’attendu, puisqu’il compte la référence (temporaire) de l’argument à
getrefcount()
.
-
sys.
getrecursionlimit
()¶ Donne la limite actuelle de la limite de récursion, la profondeur maximum de la pile de l’interpréteur. Cette limite empêche Python de planter lors d’une récursion infinie à cause d’un débordement de la pile. Elle peut être modifiée par
setrecursionlimit()
.
-
sys.
getsizeof
(object[, default])¶ Donne la taille d’un objet en octets. L’objet peut être de n’importe quel type. Le résultat sera correct pour tous les objets natifs, mais le résultat peut ne pas être toujours vrai pour les extensions, la valeur étant dépendante de l’implémentation.
S’il est fourni, default sera renvoyé si l’objet ne fournit aucun moyen de récupérer sa taille. Sinon, une exception
TypeError
sera levée.getsizeof()
appelle la méthode__sizeof__
de l’objet, et s’il est géré par lui, ajoute le surcoût du ramasse-miettes.Nouveau dans la version 2.6.
-
sys.
_getframe
([depth])¶ Renvoie une frame de la pile d’appels. Si le nombre entier optionnel depth est donné, la frame donnée sera de depth appels depuis le haut de la pile. Si c’est plus profond que la hauteur de la pile, une exception
ValueError
est levée. La profondeur par défaut est zéro, donnant ainsi la frame du dessus de la pile.Cette fonction ne devrait être utilisée que pour une utilisation interne et spécifique. Il n’est pas garanti qu’elle existe dans toutes les implémentations de Python.
-
sys.
getprofile
()¶ Renvoie la fonction de profilage tel que défini par
setprofile()
.Nouveau dans la version 2.6.
-
sys.
gettrace
()¶ Renvoie la fonction de traçage tel que définie par
settrace()
.La fonction
gettrace()
ne sert que pour implémenter des débogueurs, des profilers, outils d’analyse de couverture, etc…. Son comportement dépend de l’implémentation et non du langage, elle n’est donc pas forcément disponible dans toutes les implémentations de Python.Nouveau dans la version 2.6.
-
sys.
getwindowsversion
()¶ Return a named tuple describing the Windows version currently running. The named elements are major, minor, build, platform, service_pack, service_pack_minor, service_pack_major, suite_mask, and product_type. service_pack contains a string while all other values are integers. The components can also be accessed by name, so
sys.getwindowsversion()[0]
is equivalent tosys.getwindowsversion().major
. For compatibility with prior versions, only the first 5 elements are retrievable by indexing.platform may be one of the following values:
Constante
Plateforme
0 (VER_PLATFORM_WIN32s)
Win32s on Windows 3.1
1 (VER_PLATFORM_WIN32_WINDOWS)
Windows 95/98/ME
2 (VER_PLATFORM_WIN32_NT)
Windows NT/2000/XP/x64
3 (VER_PLATFORM_WIN32_CE)
Windows CE
product_type peut être une des valeurs suivantes :
Constante
Signification
1 (VER_NT_WORKSTATION)
Le système une station de travail.
2 (VER_NT_DOMAIN_CONTROLLER)
Le système est un contrôleur de domaine.
3 (VER_NT_SERVER)
Le système est un serveur, mais pas un contrôleur de domaine.
Cette fonction enveloppe la fonction Win32
GetVersionEx()
. Voir la documentation de Microsoft surOSVERSIONINFOEX()
pour plus d’informations sur ces champs.Disponibilité : Windows.
Nouveau dans la version 2.3.
Modifié dans la version 2.7: Changé en un tuple nommé, et ajout de service_pack_minor, service_pack_major, suite_mask, et product_type.
-
sys.
hexversion
¶ Le numéro de version codé sous forme d’un seul nombre entier. Ce numéro augmente avec chaque version, y compris pour les versions hors production. Par exemple, pour vérifier que l’interpréteur Python est au moins la version 1.5, utilisez :
if sys.hexversion >= 0x010502F0: # use some advanced feature ... else: # use an alternative implementation or warn the user ...
This is called
hexversion
since it only really looks meaningful when viewed as the result of passing it to the built-inhex()
function. Theversion_info
value may be used for a more human-friendly encoding of the same information.The
hexversion
is a 32-bit number with the following layout:Bits (ordre gros-boutiste)
Signification
1-8
PY_MAJOR_VERSION
(the2
in2.1.0a3
)9-16
PY_MINOR_VERSION
(the1
in2.1.0a3
)17-24
PY_MICRO_VERSION
(the0
in2.1.0a3
)25-28
PY_RELEASE_LEVEL
(0xA
for alpha,0xB
for beta,0xC
for release candidate and0xF
for final)29-32
PY_RELEASE_SERIAL
(the3
in2.1.0a3
, zero for final releases)Thus
2.1.0a3
is hexversion0x020100a3
.Nouveau dans la version 1.5.2.
-
sys.
long_info
¶ A struct sequence that holds information about Python’s internal representation of integers. The attributes are read only.
Attribut
Explication
bits_per_digit
number of bits held in each digit. Python integers are stored internally in base
2**long_info.bits_per_digit
sizeof_digit
taille en octets du type C utilisé pour représenter un chiffre
Nouveau dans la version 2.7.
-
sys.
last_type
¶ -
sys.
last_value
¶ -
sys.
last_traceback
¶ These three variables are not always defined; they are set when an exception is not handled and the interpreter prints an error message and a stack traceback. Their intended use is to allow an interactive user to import a debugger module and engage in post-mortem debugging without having to re-execute the command that caused the error. (Typical use is
import pdb; pdb.pm()
to enter the post-mortem debugger; see chapter pdb — Le débogueur Python for more information.)The meaning of the variables is the same as that of the return values from
exc_info()
above. (Since there is only one interactive thread, thread-safety is not a concern for these variables, unlike forexc_type
etc.)
-
sys.
maxint
¶ The largest positive integer supported by Python’s regular integer type. This is at least 2**31-1. The largest negative integer is
-maxint-1
— the asymmetry results from the use of 2’s complement binary arithmetic.
-
sys.
maxsize
¶ The largest positive integer supported by the platform’s Py_ssize_t type, and thus the maximum size lists, strings, dicts, and many other containers can have.
-
sys.
maxunicode
¶ An integer giving the largest supported code point for a Unicode character. The value of this depends on the configuration option that specifies whether Unicode characters are stored as UCS-2 or UCS-4.
-
sys.
meta_path
¶ A list of finder objects that have their
find_module()
methods called to see if one of the objects can find the module to be imported. Thefind_module()
method is called at least with the absolute name of the module being imported. If the module to be imported is contained in package then the parent package’s__path__
attribute is passed in as a second argument. The method returnsNone
if the module cannot be found, else returns a loader.sys.meta_path
is searched before any implicit default finders orsys.path
.See PEP 302 for the original specification.
-
sys.
modules
¶ This is a dictionary that maps module names to modules which have already been loaded. This can be manipulated to force reloading of modules and other tricks. Note that removing a module from this dictionary is not the same as calling
reload()
on the corresponding module object.
-
sys.
path
¶ Une liste de chaînes de caractères spécifiant les chemins de recherche des modules, initialisée à partir de la variable d’environnement
PYTHONPATH
et d’une valeur par défaut dépendante de l’installation.Puisqu’il est initialisé au démarrage du programme, le premier élément de cette liste,
path[0]
, est le dossier contenant le script qui a été utilisé pour invoquer l’interpréteur Python. Si le dossier du script n’est pas disponible (typiquement, si l’interpréteur est invoqué interactivement ou si le script est lu à partir d’une entrée standard),path[0]
sera une chaîne vide, qui indiquera à Python de chercher des modules dans le dossier actuel. Notez que le dossier du script est inséré avant les dossiers dePYTHONPATH
.A program is free to modify this list for its own purposes.
Modifié dans la version 2.3: Unicode strings are no longer ignored.
-
sys.
path_hooks
¶ Une liste d’appelables d’un argument, path, pour essayer de créer un finder pour ce chemin. Si un finder peut être créé, il doit être renvoyé par l’appelable, sinon une
ImportError
doit être levée.Précisé à l’origine dans la PEP 302.
-
sys.
path_importer_cache
¶ A dictionary acting as a cache for finder objects. The keys are paths that have been passed to
sys.path_hooks
and the values are the finders that are found. If a path is a valid file system path but no explicit finder is found onsys.path_hooks
thenNone
is stored to represent the implicit default finder should be used. If the path is not an existing path thenimp.NullImporter
is set.Précisé à l’origine dans la PEP 302.
-
sys.
platform
¶ Cette chaîne contient un identificateur de plateforme qui peut être typiquement utilisé pour ajouter des composants spécifiques à
sys.path
.For most Unix systems, this is the lowercased OS name as returned by
uname -s
with the first part of the version as returned byuname -r
appended, e.g.'sunos5'
, at the time when Python was built. Unless you want to test for a specific system version, it is therefore recommended to use the following idiom:if sys.platform.startswith('freebsd'): # FreeBSD-specific code here... elif sys.platform.startswith('linux'): # Linux-specific code here...
Modifié dans la version 2.7.3: Since lots of code check for
sys.platform == 'linux2'
, and there is no essential change between Linux 2.x and 3.x,sys.platform
is always set to'linux2'
, even on Linux 3.x. In Python 3.3 and later, the value will always be set to'linux'
, so it is recommended to always use thestartswith
idiom presented above.Pour les autres systèmes, les valeurs sont:
Système
platform
valueLinux (2.x and 3.x)
'linux2'
Windows
'win32'
Windows/Cygwin
'cygwin'
Mac OS X
'darwin'
OS/2
'os2'
OS/2 EMX
'os2emx'
RiscOS
'riscos'
AtheOS
'atheos'
Voir aussi
os.name
a une granularité plus grossière.os.uname()
donne des informations sur la version dépendantes du système.Le module
platform
fournit des vérifications détaillées pour l’identité du système.
-
sys.
prefix
¶ A string giving the site-specific directory prefix where the platform independent Python files are installed; by default, this is the string
'/usr/local'
. This can be set at build time with the--prefix
argument to the configure script. The main collection of Python library modules is installed in the directoryprefix/lib/pythonX.Y
while the platform independent header files (all exceptpyconfig.h
) are stored inprefix/include/pythonX.Y
, where X.Y is the version number of Python, for example2.7
.
-
sys.
ps1
¶ -
sys.
ps2
¶ Chaînes spécifiant l’invite primaire et secondaire de l’interpréteur. Celles-ci ne sont définies que si l’interpréteur est en mode interactif. Dans ce cas, leurs valeurs initiales sont
'>>>'
et'...'
. Si un objet qui n’est pas une chaîne est assigné à l’une ou l’autre variable, sa méthodestr()
sera appelée à chaque fois que l’interpréteur se prépare à lire une nouvelle commande interactive, c’est donc utilisable pour implémenter une invite dynamique.
-
sys.
py3kwarning
¶ Bool containing the status of the Python 3 warning flag. It’s
True
when Python is started with the -3 option. (This should be considered read-only; setting it to a different value doesn’t have an effect on Python 3 warnings.)Nouveau dans la version 2.6.
-
sys.
setcheckinterval
(interval)¶ Défini l“« intervalle de vérification » de l’interpréteur. Ce nombre entier détermine la fréquence à laquelle l’interpréteur effectue des tâches périodiques tels que la commutation de fil d’exécution et la gestion de signaux. La valeur par défaut est
100
, ce qui signifie que le contrôle est effectué toutes les 100 instructions virtuelles Python. L’augmenter peut améliorer les performances des programmes utilisant des fils d’exécution. Le paramétrer à une valeur inférieure ou égale à zéro permet d’effectuer ces tâches à chaque instruction virtuelle, maximisant ainsi la réactivité mais aussi son surcoût.
-
sys.
setdefaultencoding
(name)¶ Set the current default string encoding used by the Unicode implementation. If name does not match any available encoding,
LookupError
is raised. This function is only intended to be used by thesite
module implementation and, where needed, bysitecustomize
. Once used by thesite
module, it is removed from thesys
module’s namespace.Nouveau dans la version 2.0.
-
sys.
setdlopenflags
(n)¶ Set the flags used by the interpreter for
dlopen()
calls, such as when the interpreter loads extension modules. Among other things, this will enable a lazy resolving of symbols when importing a module, if called assys.setdlopenflags(0)
. To share symbols across extension modules, call assys.setdlopenflags(dl.RTLD_NOW | dl.RTLD_GLOBAL)
. Symbolic names for the flag modules can be either found in thedl
module, or in theDLFCN
module. IfDLFCN
is not available, it can be generated from/usr/include/dlfcn.h
using the h2py script. Availability: Unix.Nouveau dans la version 2.2.
-
sys.
setprofile
(profilefunc)¶ Set the system’s profile function, which allows you to implement a Python source code profiler in Python. See chapter The Python Profilers for more information on the Python profiler. The system’s profile function is called similarly to the system’s trace function (see
settrace()
), but it is called with different events, for example it isn’t called for each executed line of code (only on call and return, but the return event is reported even when an exception has been set). The function is thread-specific, but there is no way for the profiler to know about context switches between threads, so it does not make sense to use this in the presence of multiple threads. Also, its return value is not used, so it can simply returnNone
.Profile functions should have three arguments: frame, event, and arg. frame is the current stack frame. event is a string:
'call'
,'return'
,'c_call'
,'c_return'
, or'c_exception'
. arg depends on the event type.Les événements ont la signification suivante :
'call'
A function is called (or some other code block entered). The profile function is called; arg is
None
.'return'
A function (or other code block) is about to return. The profile function is called; arg is the value that will be returned, or
None
if the event is caused by an exception being raised.'c_call'
Une fonction C est sur le point d’être appelée. C’est soit une fonction d’extension ou une fonction native. arg représente la fonction C.
'c_return'
Une fonction C a renvoyé une valeur. arg représente la fonction C.
'c_exception'
Une fonction C a levé une exception. arg représente la fonction C.
-
sys.
setrecursionlimit
(limit)¶ Définit la profondeur maximale de la pile de l’interpréteur Python à limit. Cette limite empêche une récursion infinie de provoquer un débordement de la pile C et ainsi un crash de Python.
The highest possible limit is platform-dependent. A user may need to set the limit higher when she has a program that requires deep recursion and a platform that supports a higher limit. This should be done with care, because a too-high limit can lead to a crash.
-
sys.
settrace
(tracefunc)¶ Définit la fonction de traçage du système, qui vous permet d’implémenter un débogueur de code source Python en Python. Cette fonction est locale au fil d’exécution courant. Pour qu’un débogueur puisse gérer plusieurs fils d’exécution, il doit enregistrer sa fonction en appelant
settrace()
pour chaque fil d’exécution qu’il souhaite surveiller.Trace functions should have three arguments: frame, event, and arg. frame is the current stack frame. event is a string:
'call'
,'line'
,'return'
or'exception'
. arg depends on the event type.La fonction de traçage est appelée (avec event à
'call'
) à chaque fois que l’interpréteur entre dans un nouveau scope. Elle doit renvoyer une référence à une fonction de traçage locale à utiliser pour ce scope, ouNone
si le Scope ne doit pas être tracé.La fonction de traçage doit renvoyer une référence à elle-même (ou à une autre fonction de traçage pour un traçage ultérieur dans cette portée), ou
None
pour désactiver le traçage dans cette portée.Les événements ont la signification suivante :
'call'
Une fonction est appelée (un un bloc de code). La fonction de traçage globale est appelée, arg est
None
, la valeur renvoyée donne la fonction de traçage locale.'line'
L’interpréteur est sur le point d’exécuter une nouvelle ligne de code ou de ré-exécuter la condition d’une boucle. La fonction de traçage locale est appelée, arg vaut
None
, et la valeur de retour donne la nouvelle fonction de traçage locale. VoirObjects/lnotab_notes.txt
pour une explication détaillée de ce mécanisme.'return'
La fonction (ou un autre type de bloc) est sur le point de se terminer. La fonction de traçage locale est appelée, arg est la valeur qui sera renvoyée, ou
None
si l’événement est causé par la levée d’une exception. La valeur renvoyée par la fonction de traçage est ignorée.'exception'
Une exception est survenue. La fonction de traçage locale est appelée, arg est le tuple
(exception, valeur, traceback)
, la valeur renvoyée spécifie la nouvelle fonction de traçage locale.
Remarquez que, comme une exception se propage au travers de toute chaîne d’appelants, un événement
'exception'
est généré à chaque niveau.Pour plus d’informations sur les objets code et objets représentant une frame de la pile, consultez Hiérarchie des types standards.
La fonction
settrace()
est destinée uniquement à l’implémentation de débogueurs, de profileurs, d’outils d’analyse de couverture et d’autres outils similaires. Son comportement fait partie de l’implémentation, plutôt que de la définition du langage, et peut donc ne pas être disponible dans toutes les implémentations de Python.
-
sys.
settscdump
(on_flag)¶ Activate dumping of VM measurements using the Pentium timestamp counter, if on_flag is true. Deactivate these dumps if on_flag is off. The function is available only if Python was compiled with
--with-tsc
. To understand the output of this dump, readPython/ceval.c
in the Python sources.Nouveau dans la version 2.4.
CPython implementation detail: This function is intimately bound to CPython implementation details and thus not likely to be implemented elsewhere.
-
sys.
stdin
¶ -
sys.
stdout
¶ -
sys.
stderr
¶ File objects corresponding to the interpreter’s standard input, output and error streams.
stdin
is used for all interpreter input except for scripts but including calls toinput()
andraw_input()
.stdout
is used for the output ofprint
and expression statements and for the prompts ofinput()
andraw_input()
. The interpreter’s own prompts and (almost all of) its error messages go tostderr
.stdout
andstderr
needn’t be built-in file objects: any object is acceptable as long as it has awrite()
method that takes a string argument. (Changing these objects doesn’t affect the standard I/O streams of processes executed byos.popen()
,os.system()
or theexec*()
family of functions in theos
module.)
-
sys.
__stdin__
¶ -
sys.
__stdout__
¶ -
sys.
__stderr__
¶ Ces objets contiennent les valeurs d’origine de
stdin
,stderr
etstdout
tel que présentes au début du programme. Ils sont utilisés pendant la finalisation, et peuvent être utiles pour écrire dans le vrai flux standard, peu importe si l’objetsys.std*
a été redirigé.Ils peuvent également être utilisés pour restaurer les entrées / sorties d’origine, au cas où ils auraient été écrasés par des objets cassé, cependant la bonne façon de faire serait de sauvegarder explicitement les flux avant de les remplacer et ainsi pouvoir les restaurer.
-
sys.
subversion
¶ A triple (repo, branch, version) representing the Subversion information of the Python interpreter. repo is the name of the repository,
'CPython'
. branch is a string of one of the forms'trunk'
,'branches/name'
or'tags/name'
. version is the output ofsvnversion
, if the interpreter was built from a Subversion checkout; it contains the revision number (range) and possibly a trailing “M” if there were local modifications. If the tree was exported (or svnversion was not available), it is the revision ofInclude/patchlevel.h
if the branch is a tag. Otherwise, it isNone
.Nouveau dans la version 2.5.
Note
Python is now developed using Git. In recent Python 2.7 bugfix releases,
subversion
therefore contains placeholder information. It is removed in Python 3.3.
-
sys.
tracebacklimit
¶ Lorsque cette variable contient un nombre entier, elle détermine la profondeur maximum de la pile d’appels affichée lorsqu’une exception non gérée se produit. La valeur par défaut est
1000
, lorsque cette valeur est égale ou inférieure à0
, la pile d’appels n’est pas affichée, seul seuls le type et la valeur de l’exception sont le sont.
-
sys.
version
¶ Une chaîne contenant le numéro de version de l’interpréteur Python, ainsi que d’autres informations comme le numéro de compilation et le compilateur utilisé. Cette chaîne est affichée lorsque l’interpréteur est démarré en mode interactif. N’essayez pas d’en extraire des informations de version, utilisez plutôt
version_info
et les fonctions fournies par le moduleplatform
.
-
sys.
api_version
¶ La version de l’API C pour cet interpréteur. Les développeurs peuvent trouver cette information utile en déboguant des conflits de versions entre Python et des modules d’extension.
Nouveau dans la version 2.3.
-
sys.
version_info
¶ Un tuple contenant les cinq composants du numéro de version: major, minor, micro, releaselevel et serial. Toutes les valeurs sauf releaselevel sont des nombres entiers. releaselevel peut valoir
'alpha'
,'beta'
,'candidate'
, ou'final'
. La valeur deversion_info
pour Python 2.0 est(2, 0, 0, 'final', 0)
. Ces attributs sont aussi accessibles par leur nom, ainsisys.version_info[0]
est équivalent àsys.version_info.major
, et ainsi de suite.Nouveau dans la version 2.0.
Modifié dans la version 2.7: Added named component attributes
-
sys.
warnoptions
¶ C’est une spécificité de l’implémentation de la gestion des avertissements. Ne modifiez pas cette valeur. Reportez-vous au module
warnings
pour plus d’informations sur le gestionnaire d’avertissements.
-
sys.
winver
¶ Le numéro de version utilisé pour construire les clefs de registre sous Windows. Elle est stockée en tant que string resource 1000 dans la DLL Python. Cette valeur équivaut typiquement aux trois premiers caractères de
version
. Elle est fournie par le modulesys
à titre d’information, et la modifier n’a aucun effet sur les clés de registre utilisées par Python. Disponibilité: Windows.
Citations
- C99
ISO/IEC 9899:1999. « Programming languages – C. » A public draft of this standard is available at http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf.