python
exec <Code à exécuter> [Dictionnaire des variables de référence[,Dictionnaire de la destination de l'allocation variable]]
exec.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
##Exemple de base. Il y a des effets secondaires dans l'environnement mondial
exec "x=1"
print "x in global env is", x
##Exécutez dans votre propre environnement.
ref1=dict(x=100)
exec """print 'x in temporary env is', x
y=x+1""" in ref1
print "y is in global()? ->", "y" in globals()
print "y in ref1 is", ref1["y"]
##Exécutez dans votre propre environnement. Allocation variable à un autre environnement
ref2=dict(x=1000)
dest=dict()
exec "z=1+x" in ref2, dest
print "z is in global()? ->", "z" in globals()
print "z is in ref2? ->", "z" in ref2
print "z in dest is", dest["z"]
Résultat d'exécution
python
bash-3.2$ ./exec.py
x in global env is 1
x in temporary env is 100
y is in global()? -> False
y in ref1 is 101
z is in global()? -> False
z is in ref2? -> False
z in dest is 1001
Recommended Posts