"from module import *" and modifying module's top-level vars
Diez B. Roggisch
deets at nospam.web.de
Sun Oct 29 15:55:06 EST 2006
lemke_juergen at yahoo.de schrieb:
> Hi everyone,
>
> I define some vars and functions in a "support" module which gets
> called from my
> main app module. Using Python 2.5.
>
> I import all symbols in the support module at the top of the main
> module through:
>
> from support import *
>
> Is there a way for me to modify a top-level ("global"?) variable
> defined in module
> support from the code in the main module and still have those changes
> visible to
> code in the support module?
No. The from foo import * will create local bindings of the
module-globals in the importing module, and there is no implicit link to
the module's names.
This is the main reason why the "from foo import *"-form is frowned
upon, and you should refrain from using it.
Use e.g.
import support as s
instead, to get a shorter name for referencing the support module.
Diez
More information about the Python-list
mailing list