utiliser une sous-routine au lieu d'un alias
callmyprogram(){
python -i -c "import time;print time.localtime()"
}
callmyprogram
Un moyen simple de le faire est d'utiliser le module "code":
python -c "import code; code.interact(local=locals())"
Cela vous déposera dans un shell interactif lorsque code.interact() est appelé. Le local
argument de mot-clé à interact
est utilisé pour préremplir l'espace de noms par défaut pour l'interpréteur qui est créé ; nous utiliserons locals()
, qui est une fonction intégrée qui renvoie l'espace de noms local sous forme de dictionnaire.
Votre commande ressemblerait à ceci :
python -c "import mymodule, code; code.interact(local=locals())"
qui vous dépose dans un interpréteur qui a le bon environnement.
Exemple :
python -c "import time ; print 'waiting 2 sec.'; time.sleep(2); print 'finished' "