import vs imp and friends.

Robert Kern robert.kern at
Thu Jul 23 13:09:55 EDT 2009

On 2009-07-23 09:44, Emanuele D'Arrigo wrote:
> Greetings,
> I was looking in the archive of this newsgroup and I found this
> snippet:
> import imp
> sourcecode = 'def foo(x): return 11*x'
> mod = imp.new_module('foo')
> exec sourcecode in mod.__dict__
> Together with similar and sometimes more complete snippets available
> they show how a module can be created out of string, plain text files
> and compiled files. Neat!
> Now the question. Apart from checking sys.module first and eventually
> adding the new module to it if it isn't there already, and apart from
> setting __file__, is there anything else that import does and this
> snippet doesn't?

Brett Cannon has a good presentation that covers basically the entirety of the 
import mechanism:

Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
  that is made terrible by our own mad attempt to interpret it as though it had
  an underlying truth."
   -- Umberto Eco

More information about the Python-list mailing list