Python : parsing the command line options using optparse
Peter Otten
__peter__ at web.de
Wed Feb 26 06:27:17 EST 2014
Ganesh Pal wrote:
> On Tue, Feb 25, 2014 at 9:55 PM, Peter Otten <__peter__ at web.de> wrote:
>
>>As you are just starting I recommend that you use argparse instead of
> optparse.
>
> I would love to use argparse but the script that I plan to write has to
> run on host machines that Python 2.6
>
> I have freebsd clients with python 2.6 dont want to install python new
> version on all the host machine which will be eventually upgraded to 2.7 .
>
> I wanted know if I could use argparse with python 2.6 and is it possible
> to
> add something like #pkg_add -r install python-argparse and install
> python argparse module before I use it.
Probably, but I have no experience with freebsd.
>> >If you are asking why short options don't work in conjunction with = --
>> >I don't know, it is probably a design choice of the optparse author.
>> >argparse accepts short options with like -f=1234
>
> I wanted to know why my sample program does not work with short hand
> option (-p) and works with long hand option .
>
> Here is what is happening ( only short hand with -)
>
> # python-5.py -p=/ifs/1.txt -q=XOR -f=1234 -n=1 -l
>
> Usage: python-5.py [options]
>
> python-5.py: error: option -q: invalid choice: '=XOR' (choose from 'XOR',
> 'ADD',
>
> 'SET', 'MODIFY', 'RENAME', 'DELETE', 'KILL')
>
>
> Result :says invalid choice: '=XOR'
If you stick with optparse just pass the options without '='
-qXOR
and
-q XOR
should both work.
More information about the Python-list
mailing list