How to pass parameter to a module?

M-a-S NO-MAIL at hotmail.com
Fri Sep 19 05:26:54 EDT 2003


Thank you!

"Hung Jung Lu" <hungjunglu at yahoo.com> wrote in message news:8ef9bea6.0309182328.5c040595 at posting.google.com...
> "M-a-S" <NO-MAIL at hotmail.com> wrote in message news:<Vwfab.2454$9G2.2174 at twister.southeast.rr.com>...
> > I'd like to parametrize a module. That is, to set and pass
> > some values into the module, while it is being imported.
>
> There are many ways.
>
> (However, classes may fit your need better. "Passing parameters to a
> module" is not a common practice, as far as I know.)
>
> (1) Use a built-in namespace variable.
>
> import __builtin__
> __builtin__.myvar = 3
> print myvar
>
> This is a hack. I have been screamed at for mentioning it. :)
>
> (2) Hack your favorite (non-builtin) module. The module could be any
> of the standard library modules, or your own third module.
>
> import sys
> sys.myvar = 3
>
> (3) Use environmental variables.
>
> import os
> os.environ['myvar'] = 'hello'
>
> You get the idea. Python has three namespaces: built-in, global, and
> local. Since global and local namespaces won't go over to the other
> module, you need to rely on the built-in namespace, one way or
> another. How you want to structure your data (by using the built-in
> namespace, a module, a class, a dictionary or any other entities that
> can hold a name entry), it's entirely up to you.
>
> Hung Jung






More information about the Python-list mailing list