Module loading trickery
Jean-Michel Pichavant
jeanmichel at sequans.com
Tue Oct 5 11:49:09 EDT 2010
Jonas Galvez wrote:
> Is there a way to "inject" something into a module right before it's
> loaded?
>
> For instance, a.py defines "foo". b.py print()s "foo".
>
> I want to load b.py into a.py, but I need to let b.py know about "foo"
> before it can execute.
>
> Is this any way to achieve this?
>
> -- Jonas
No that would mean that a imports b which imports a => circular imports.
Usually it's a cue for bad design.
People solve it by either merging the 2 modules into 1 or defining 'foo'
in a 3rd module.
You can do also something like :
a.py:
import b
foo = 'I am foo'
b.printThat(foo)
b.py:
def printThat(something):
print something
JM
More information about the Python-list
mailing list