Parametrized module import
olli at haluter.fromme.com
Thu Jul 8 11:27:18 CEST 2004
Jacek Generowicz <jacek.generowicz at cern.ch> wrote:
> I have a module whose behaviour needs to be configurable. The module
> needs to decide, the first time it is imported, beteween alternative
> interfaces it presents.
> Currently, I set some environment variables which select the desired
> behaviour, and the module inspects those variables to determine the
> mode in which it should set itself up. I would prefer a pure Python
> solution, rather than one which depends on external state.
> Can you recommend any approaches, or warn against the pitfalls of some
You could create another module called "config" or "cfg"
which contains some global variables. You import it into
your configurable module as well as into your main program.
Then you can configure the module's behaviour via those
global variables before importing the module.
Something like this:
#--- File config.py: ---
foo_interface_mode = 0 # default
#--- File your_module.py: ---
if config.foo_interface_mode == 0:
... this interface
... that interface
#--- File main_program.py: ---
config.foo_interface_mode = 1
Oliver Fromme, Konrad-Celtis-Str. 72, 81369 Munich, Germany
``All that we see or seem is just a dream within a dream.''
(E. A. Poe)
More information about the Python-list