def compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1, *, _feature_version=-1) -> code object
Compile source into a code object that can be executed by exec() or eval(). The source code may represent a Python module, statement or expression. The filename will be used for run-time error messages. The mode must be 'exec' to compile a module, 'single' to compile a single (interactive) statement, or 'eval' to compile an expression. The flags argument, if present, controls which future statements influence the compilation of the code. The dont_inherit argument, if true, stops the compilation inheriting the effects of any future statements in effect in the code calling compile; if absent or false these statements do influence the compilation, in addition to any features explicitly specified.
Paramètre | Description |
---|---|
source : str |
Le code source sous forme de chaîne de caractères. |
filename : str |
Le nom du fichier contenant le code source. |
mode : str |
Le mode d'exécution du code source. Peut être 'exec' ou 'eval'. |
flags : int = 0 |
Les drapeaux de compilation. Optionnel, 0 par défaut. |
dont_inherit : bool = False |
Si vrai, l'objet code n'hérite pas du contexte environnant. Optionnel, False par défaut. |
optimize : int = -1 |
Le compilateur doit-il jouer des optimisations |
_feature_version : int = -1 |
La valeur de retour est de type code.
Retourne un objet code représentant le code source compilé.
SyntaxError :Une exception de ce type sera déclenchée si le code source contient une erreur de syntaxe.
TypeError :Une exception de ce type sera déclenchée si les paramètres ne sont pas du type attendu.
1 2 3 4 5 6 7 |
#!/usr/bin/python code = """ print("Hello, World!") """ c = compile(code, '<string>', 'exec') exec(c) |
Et voici les résultats produits par cet exemple.
$> python sample.py Hello, World! $>
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :