How to pass parameter to a module?
Daniel Dittmar
daniel.dittmar at sap.com
Thu Sep 18 07:48:32 EDT 2003
M-a-S wrote:
> I'd like to parametrize a module. That is, to set and pass
> some values into the module, while it is being imported.
> I tried this:
>
> # sub_1.py -- main program
> extern = "OK"
> import sub_2
> print sub_2.noway # prints 'no extern' :-(
> # EOF
>
> # sub_2.py -- parametrized module, parameter is the 'extern' var
> try:
> noway = extern
> except:
> noway = 'no extern'
> # EOF
>
> You can guess, it doesn't work.
> How can I pass the parameter? Can I?
Create an additional module sub_2_parameters:
# sub_1.py -- main program
import sub_2_parameters
sub_2_parameters.extern = "OK"
import sub_2
# sub_2.py -- parametrized module, parameter is the 'extern' var
import sub_2_parameters
try:
noway = sub_2_parameters.extern
except:
noway = 'no extern'
# EOF
Note that modules are imported only once so you cannot import sub_2 with one
set of parameters into one module and with another set of variables into
another.
Depending on your problem, it might be better to use the builtin execfile,
because you can pass a dictionary with the parameters to the call.
Daniel
More information about the Python-list
mailing list