2017-03-16 1 views
1

Je lance souvent des scripts avec ipython -i ou ipython --pdb. Je voudrais faire un script qui analyse les arguments sans interférer avec l'exécution de cette manière. Je l'ai essayé de le faire ci-dessous dans le fichier ipy_parse.py:Analyse des arguments lors de l'exécution du script avec IPython

import argparse 

parser = argparse.ArgumentParser() 
parser.add_argument(
    '-lf', '--proglogfile', 
    help="File for logging", 
    dest="plogfile", 
    type=str 
) 

args = parser.parse_args() 
print(args.plogfile) 

Cependant, quand je lance cela avec ipython ipy_parse.py --proglogfile="wat", je reçois la sortie suivante:

[TerminalIPythonApp] WARNING | Unrecognized alias: '--proglogfile=wat', it will probably have no effect. 
None 

Malgré le fait que ce script fonctionne normalement lorsqu'il est exécuté avec python ipy_parse.py --proglogfile="wat". Comment puis-je analyser les arguments sans interférer avec les arguments IPython?

Répondre

2

Vous pouvez séparer ipython arguments de vos arguments de script en utilisant --:

ipython ipy_parse.py -- --proglogfile="wat"