Tu peux faire ça de plusieurs manières différentes.
Tu pourrais imaginer de parser tout toi-même, c'est à dire écrire le tokenizer, l'assembler et l'unité d'exécution... bref redéfinir un langage complet: amuse toi...
La méthode la plus simple est d'utiliser le built-in exec de python.
Exemple (non testé, n'ai pas python sous la main):
1 2 3 4 5 6 7 8 9 10 11 12 13
| def open_window(name):
# Ton code d'ouverture de la fenêtre
execGlobals = {
'open_window': open_window,
'autre_fonction': some_function,
...
}
execLocals = {} # Un dictionnaire qui peut contenir des variables
cmd = readCmd() # Obtenir la commande d'une manière ou d'une autre
exec cmd in execGlobals, execLocals |
La dernière ligne change sous python3. Si mes souvenirs sont justes, exec est devenu une fonction, et non un statement.
exec(cmd, execGlobals, execLocals)
Partager