other python ideas
Jeff Petkau
jpet at eskimo.com
Mon Apr 9 00:32:34 EDT 2001
Douglas Alan <nessus at mit.edu> wrote in message
news:lcvgoeiva4.fsf at gaffa.mit.edu...
>
> mymodule::foo(a, b, c)
>
> This syntax would invoke mymodule.foo(), and would load module
> "mymodule" it if it wasn't already loaded. You'd probably also want
> some sort of module aliasing notation so you could use
>
> alias m my_really_long_named_module
> m::foo(a, b, c)
>
> in place of
>
> my_really_long_named_module::foo(a, b, c)
How is this any better than:
import my_really_long_named_module as m
m.foo(a, b, c)
?
For avoiding import statements, you could write something
like this:
class ModuleGetter:
def __getattr__(self,name):
if name.startswith('__'):
raise AttributeError
return __import__(name)
module = ModuleGetter()
And now you can do without the imports:
module.mymodule.foo(a, b, c)
module.os.chmod(blah, blah)
x = module.re.compile('[a-z]')
--Jeff Petkau
More information about the Python-list
mailing list