Tim Arnold schrieb:
Hi,
I'm writing a command-line interface using optparse. The cli takes
several options with a single action and several parameters to be used
in the resulting worker classes.

I've been passing parameters from optparse to the workers in two ways:
(1) creating a Globals.py module, set parameters once in the cli code
and read it
when needed in the worker class methods. Something like this:
import Globals
class Foo(object):
    def __init__(self):
        if Globals.debug:
            etc
(2) passing a parameter directly to the worker class __init__ method:
class Bar(object):
    def __init__(self, verbose=False):
        etc

Are those methods the best/only ways to pass these parameters around?
What's the smart way to do it?

Essentially these are the two ways - and there is not "the" way. Both approaches are reasonable.

Generally it is better to refuse the temptation to work with global state - becaues only that ensures that code is de-coupled and more responsible regarding state.

However there is no need to jump through overly high mounted hoops to reach that - especially when config-options affect overall program behaviour, such as verbosity.

So - no clear answer, sorry :)

Diez
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to