[IPython-dev] Minus signs in argparse line magics
Matthew Brett
matthew.brett at gmail.com
Fri Aug 10 18:00:18 EDT 2012
Hi,
I ran into this when using the R magics, but it's obviously generic to
argparse magics:
In [1]: %load_ext rmagic
In [6]: %R c(1, -1)
UsageError: unrecognized arguments: -1)
The problem is that argparse is looking for '-' options throughout the
input string, not just preceding the main line text. Thus it's
identifying '-1' as an option and barfing. Obviously there's a
variety of workarounds:
In [7]: %R c(1,-1) # no space before '-'
Out[7]: array([ 1., -1.])
In [8]: %R -- c(1, -1) # '--' signalling end of options to argparse
Out[8]: array([ 1., -1.])
but the error is rather confusing and it's a little annoying having to
consider argument parsing in your line text. I couldn't think
immediately of a clean way to fix it that wouldn't involve hacking on
argparse. Is there a good way?
Thanks a lot,
Matthew
More information about the IPython-dev
mailing list