Iterating command switches from a data file - have a working solution but it seems inefficient
News
arobert at townisp.com
Thu Apr 13 07:44:16 EDT 2006
bruno at modulix wrote:
> News wrote:
>> bruno at modulix wrote:
>>
>>> News wrote:
>>>
>>>> Hi everyone,
>>>>
>>>> My goal is to pull command switches/options from a file and then assign
>>>> the values to select variables which would eventually be included in a
>>>> class object.
>>>>
>>>> The data file looks something like this but the switches could be in any
>>>> order and not all may be used.
>>>>
>>>> -m quemanager -s server -p port -k key -o object -c 20 -t test at email.com
>>> Have you looked at optparse ?
>>>
>> I have.
>>
>> In the interactive version of the code, I use:
>>
>> #
>> # Parse command line options and automatically build help/usage
>> #
>> parser = OptionParser()
>>
>> parser.add_option("-q", "--quiet",
>> action="store_false", dest="verbose", default=1,
>> help="don't print status messages to stdout")
>> parser.add_option("-m", dest="qmanager",
>> help="Queue Manager to inquire against")
>> parser.add_option("-s", dest="host",
>> help="Host the que manager resides on")
>> parser.add_option("-p", dest="port",
>> help="Port queue manager listens on"),
>> parser.add_option("-o", dest="object",
>> help="Queue object being inquired on"),
>> parser.add_option("-k", dest="key",
>> help="object attribute to be inquired about"),
>> parser.add_option("-t", type="string",dest="mto",
>> help="e-mail address the report will go to"),
>> parser.add_option("-d", action="store_false",dest="report",
>> help="optional switch - enabling this sends output
>> to e-mail")
>> (options, args) = parser.parse_args()
>>
>
> So why do you inflict yourself the pain of rewriting all the parsing etc???
>
>> The module optparse seemed to be aimed at reading from commandline
>> versus pulling attributes from a read line.
>
> http://www.python.org/doc/2.4.2/lib/optparse-parsing-arguments.html:
> """
> The whole point of creating and populating an OptionParser is to call
> its parse_args() method:
>
> (options, args) = parser.parse_args(args=None, options=None)
>
> where the input parameters are
>
> args
> the list of arguments to process (sys.argv[1:] by default)
> """
>
> what about something like :
>
> line = myfile.readline()
> options = parser.parse_args(line.split())
>
> But what, if you prefer to rewrite (and maintain) a custom parser doing
> exactly the same thing, please do !-)
>
sometimes you can't see the forest .. trees and all that :)
I really appreciate everyones insight on this.
It was very helpful.
OT: I saw several references to "OP". What does this mean?
More information about the Python-list
mailing list