Importing a file into another module's namespace
garyo at genarts.com
Tue Apr 28 03:46:13 CEST 2009
Hi; my first time posting here. I have a somewhat tricky problem I'd
like some help with.
I have a module, foo.bar, that defines a number of functions and
variables as usual. Now after importing foo.bar, I'd like to load
another file of code (say xyz.py), but *into* foo.bar's namespace. So
if xyz.py contains:
print "Aargh! ", arg
then I'd like to be able to do this in my main python file:
m=sys.modules["foo.bar"] # or something like that
As you can see it's the middle two lines that have me stumped. Anyone
have any ideas? Oh yes, this needs to work in python 2.2 or so (earlier
is even better).
Here's a tantalizing snippet from the Python "import" doc:
"...If a file is found, it is parsed, yielding an executable code block.
If a syntax error occurs, SyntaxError is raised. Otherwise, an empty
module of the given name is created and inserted in the module table,
and then the code block is executed in the context of this module."
That's kind of what I want to do, except get an existing module and then
execute my xyz.py file's code block in the context of that module, I
think. Any help would be much appreciated!
More information about the Python-list