Prev: getopt question
Next: braceless and semicolonless
From: Raphael Mayoraz on 9 Apr 2010 19:37 Ooops, forgot to attach the file in my first e-mail. Now, here it is. -------------------------------------------------------- Hello, I have some trouble to make getopt.getopt work and the way I want (and is described in the documentation). Attached is very small script to reproduce my problem. If running: > python testGetOpt.py -a junk1 -b junk2 everything is ok > python testGetOpt.py -c junk1 ok too: I get the 'Invalid option' error message now: > python testGetOpt.py -a junk1 -c junk2 I'm expecting this to also print the error message, as 'c' is not in the argument given in getopt.getopt, but it doesn't. What am I doing wrong ? Using python 2.6.4 on WindowXP. Thanks. Raphael ---------------------------------------------------------
From: Sean DiZazzo on 9 Apr 2010 20:13 On Apr 9, 4:37 pm, Raphael Mayoraz <may...(a)netplus.ch> wrote: > Ooops, forgot to attach the file in my first e-mail. Now, here it is. > > -------------------------------------------------------- > Hello, > > I have some trouble to make getopt.getopt work and the way I want (and > is described in the documentation). > > Attached is very small script to reproduce my problem. > > If running: > > python testGetOpt.py -a junk1 -b junk2 > everything is ok > > > python testGetOpt.py -c junk1 > ok too: I get the 'Invalid option' error message > > now: > > python testGetOpt.py -a junk1 -c junk2 > I'm expecting this to also print the error message, as 'c' is not in the > argument given in getopt.getopt, but it doesn't. > > What am I doing wrong ? > > Using python 2.6.4 on WindowXP. > > Thanks. > > Raphael > --------------------------------------------------------- > > [testGetOpt.py< 1K ]#!/usr/bin/env python > import sys > import getopt > > try: > opts, args = getopt.getopt(sys.argv[1:], 'ab') > except getopt.error: > print 'Invalid option' > sys.exit(0) If your argument is expecting a value, you need to add a colon after it in the argument string. ie. 'a:b:' Guessing if you print 'args' from your example, both the -c and junk1 will be in there. ~Sean
|
Pages: 1 Prev: getopt question Next: braceless and semicolonless |