[getopt-sig] there isn't really any discussion here

Ben Wolfson wolfson@midway.uchicago.edu
Wed, 13 Feb 2002 17:19:20 -0600 (CST)


On Wed, 13 Feb 2002, Greg Ward wrote:

>On Wed, 13 Feb 2002, I wrote:
>>Let's get some terminology straight.  Howl if you think these
>>definitions are bogus:
>>
>>  argument
>>    something in sys.argv (or possibly sys.argv[1:], depending on
>>    your PoV)
>
>On 13 February 2002, Ben Wolfson replied (in private email; I
>presume this was a mistake, as this really belongs on the list):
>> I would prefer it if an option parser did *not* assume the arguments were
>> in sys.argv.
>
>First, I don't think that my off-the-cuff definitions should be
>interpreted as carved-in-stone specifications for a future (or present)
>getopt replacement.  But, just to be extra-super-careful, I'll revise
>that one:
>
>  argument
>    one of the elements of sys.argv[1:], or a similar list provided
>    to substitute for sys.argv[1:]
>
>
>> I prefer doing something like this:
>> 
>> def main(av):
>>     #parse options in av and do whatever the script does
>> 
>> if __name__ == '__main__':
>>    main(sys.argv) #or sys.argv[1:]
>
>I think that should be *allowed*, but I also don't like having to
>explicitly refer to sys.argv[1:] in every single script I write.  That
>explains Optik's interface:
>
>        parse_args(args : [string] = sys.argv[1:],
>                   values : Values = None)
>        -> (values : Values, args : [string])
>
>...ie. you can pass in an arg list if you want; if you don't, it uses
>sys.argv[1:].  This is *so* obvious to me; I can't understand why other
>getopt libraries (in Python at least, where sys.argv is globally
>available) aren't like this.
>
>> That way it's possible to import a script and call its main() with your own
>> psuedo-command-line arguments.
>
>Key word: *possible*, not required.
>
>        Greg
>

-- 
BTR    
             Mean, as in:  Ben's Risotto: I'LL CUT YOU!
                      Or:  Ben's Risotto: Nobody likes you.
                              -- Steve Christensen