Bienvenue sur IndexError.

Ici vous pouvez poser des questions sur Python et le Framework Django.

Mais aussi sur les technos front comme React, Angular, Typescript et Javascript en général.

Consultez la FAQ pour améliorer vos chances d'avoir des réponses à vos questions.

Comment dire à Python d'interpréter une string ?

+2 votes

Comment faire pour que Python interprète ma chaîne de caractère en temps que code Python ?

Par exemple une fonction interprete() qui ferait :

>>> interprete("print('hello world')")
>>> 'hello world'
demandé 27-Fev par Aristote (166 points)

1 Réponse

+4 votes
 
Meilleure réponse

exec est très probablement le builtin que tu cherche.

Exec est exécuté dans l'environnement, donc le modifie comme du code écris normalement. De fait il ne doit pas être utilisé sur du code arbitraire.

>>> exec('a = 1')
>>> a
1
>>> exec('os.path.exists = shutil.rmtree')  # bad things will happen

Il est très probable que tu n'en ai pas besoin ; si tu veux jouer avec le langage, regarde plutôt la métaprogrammation et la manipulation de l'AST.

Pour utiliser exec et bien comprendre les problèmes autour : Be careful with exec.

répondu 27-Fev par lucas (2,206 points)
sélectionné 28-Fev par Aristote
...