2010-01-14 4 views
0

Je dois exécuter du code à partir de mon script python et prendre une sortie de type interprète comme c'est le cas here.Exécution de code python à partir d'un script et obtention d'une sortie de style interprète

Je crée un site Web sur GAE en utilisant django, il doit exécuter du code entré par l'utilisateur et imprimer une sortie de style interprète sous forme de texte.

+2

Y at-il un problème spécifique que vous rencontrez que vous avez besoin d'aide? –

+0

Dans quel contexte faites-vous cela? À partir de la ligne de commande, vous faites «script python> log». Est-ce que vous écrivez une application de bureau, comme IDLE? Créez-vous un site Web qui exécute du code Python? Qu'est-ce que tu racontes? –

+0

Je crée un site web sur GAE en utilisant django, il doit exécuter du code dynamique et imprimer une sortie de style interprète. Comment puis-je prendre une sortie de style interprète si j'ai du code sous forme de chaîne? –

Répondre

1

il y a code.InteractiveInterpreter disponible, mais je pense que vous pouvez prendre une inspiration dans l'exemple suivant plus simple:

import code 

exprs = [ 
    'd = {}', 
    'd', 
    'd["x"] = 1', 
    'd', 
    ] 

for e in exprs: 
    print '>>> %s' % e 
    cmd = code.compile_command(e) 
    r = eval(cmd) 
    if r: 
     print repr(r) 

produisant la sortie suivante:

>>> d = {} 
>>> d 
{} 
>>> d["x"] = 1 
>>> d 
{'x': 1} 
0

Il existe une console open-source pour le moteur d'application qui fait ce que vous voulez (si j'ai bien compris la question). Regardez-le: http://con.appspot.com/console/

Des instructions pour l'intégrer à votre application sont disponibles here.

Questions connexes