Does __import__ require a module to have a .py suffix?
George Sakkis
george.sakkis at gmail.com
Wed Mar 12 15:58:33 EDT 2008
On Mar 12, 12:22 pm, mrstephengross <mrstevegr... at gmail.com> wrote:
> Hi all. I've got a python file called 'foo' (no extension). I want to
> be able to load it as a module, like so:
>
> m = __import__('foo')
>
> However, the interpreter tells me "No module named foo". If I rename
> it foo.py, I can indeed import it. Is the extension required? Is there
> any way to override that requirement?
You can use execfile:
foo = {}
execfile('foo', foo)
Apart from the different syntax in accessing the module globals
(attributes with __import__ (foo.x) vs dict entries with execfile
(foo['x'])), there are probably more subtle differences but I can't
tell for sure. It would be nice if someone more knowledgeable can
compare and contrast these two appraches.
George
More information about the Python-list
mailing list