Loading Modules
Peter Otten
__peter__ at web.de
Wed Apr 13 12:02:48 EDT 2011
Cornelius Kölbel wrote:
> I am wondering about loading modules.What is a good way of doing this?
>
> In my code I got one single function, where I need some functionality
> from a built-in module.
built-in modules are always imported by definition, so you cannot save space
or time by moving the import statement into the function. You can find the
true built-in modules with
sys.builtin_module_names
and the modules that may have been imported indirectly by other modules you
are using with
sys.modules
> Is it a better way to load the module only within the function
> pro: the function will only be hit every now and then or only with a
> probability of 90%.
> So in 90% cases the modules will not be loaded. (preserve
> resources)
>
> What is the balance between speed, resources and code style?
I doubt that you'll save a significant amount of space/time, and you make
your module's dependencies less obvious.
> Is there a pythonian way for deciding in which case to do what?
The pythonic approach is to measure; run your script with and without the
tentative optimization and then decide whether the extra complication pays
off.
More information about the Python-list
mailing list