Why you want to do that? It is not pythonic to import all the modules in that way, your intention is completely wrong. It is bloating the default name space with unneccesary modules.
It is more correct if you just import the modules at time you need them by just importing them at the beggining of your scripts or inside your function/method. And by doing it so you will also be able to see where the variables/functions/classes comming from. Cheers... E. Ozgur Yilmaz Lead Technical Director Imaj Animation & VFX Studios eoyilmaz.blogspot.com Sent from my Galaxy S 2 On Aug 5, 2011 10:14 PM, "Adam Mechtley" <[email protected]> wrote: > I'm not entirely clear what it is you are wanting to accomplish, but I'd > think a better option would be execfile() > > At any rate, to answer your question more directly, you could do something > like: > > *import* __main__ *as* m > > *def* foo(modname): > mod = __import__(modname) > > m.__setattr__(modname, mod) > > foo('shutil') > > help(shutil) *# now this name exists in this context* > > On Fri, Aug 5, 2011 at 2:03 PM, Renato Polimeno <[email protected] >wrote: > >> Thanks Adam, >> could you please send me an example about that ? >> >> >> On Fri, Aug 5, 2011 at 3:58 PM, Adam Mechtley <[email protected] >wrote: >> >>> You would need to add it as an attribute to __main__ for that to work >>> >>> On Fri, Aug 5, 2011 at 1:50 PM, Renato Polimeno <[email protected] >wrote: >>> >>>> I don´t know why my result "is not defined" by the way, >>>> I thought it would work using __import__ inside a def.. >>>> >>>> def importModule(modules): >>>> for mod in modules: >>>> try: >>>> >>>> module = __import__(mod) >>>> for d in module.__dict__: >>>> print mod, d, '\n' >>>> >>>> except ImportError: >>>> print "Unable to import %s" % (mod) >>>> >>>> ## >>>> importModule(["maya.cmds"]) >>>> >>>> maya.cmds.getAttr("someObj.tx") >>>> # Error: NameError: name 'maya' is not defined # >>>> >>>> >>>> On Fri, Aug 5, 2011 at 1:26 PM, Renato Polimeno <[email protected] >wrote: >>>> >>>>> Hey guys, I´m starting digging out some python codes and I´m testing out >>>>> my own def to 'batch import' necessary modules... ie. >>>>> >>>>> def importModule(modules): >>>>> try: >>>>> for mod in modules: >>>>> module = __import__(mod) >>>>> for d in module.__dict__: >>>>> print 'module= ', mod, 'dict=', d, '\n' >>>>> # >>>>> except ImportError: >>>>> print "Unable to import %s" % (modules) >>>>> # >>>>> >>>>> Using importModule(["maya.cmds","pymel.core"]) works fine.. But how >>>>> could I implement a list of strings more efficient like "import maya.cmds as >>>>> cmds" or "from pymel.core import *" ? >>>>> Do you guys use something like this or is it better to keep it simple >>>>> and standard? >>>>> >>>>> Thanks, >>>>> >>>>> -- >>>>> ______________________________ >>>>> >>>>> -> Renato Polimeno >>>>> +55 11 7539 3615 >>>>> renatopolimeno.com <http://www.renatopolimeno.com> >>>>> <http://www.renatopolimeno.com/>facebook.com/renato.polimeno< http://www.facebook.com/renato.polimeno> >>>>> @renatopolimeno <http://www.twitter.com/renatopolimeno> >>>>> >>>>> >>>>> >>>> >>>> >>>> -- >>>> ______________________________ >>>> >>>> -> Renato Polimeno >>>> +55 11 7539 3615 >>>> renatopolimeno.com <http://www.renatopolimeno.com> >>>> <http://www.renatopolimeno.com/>facebook.com/renato.polimeno< http://www.facebook.com/renato.polimeno> >>>> @renatopolimeno <http://www.twitter.com/renatopolimeno> >>>> >>>> >>>> -- >>>> view archives: http://groups.google.com/group/python_inside_maya >>>> change your subscription settings: >>>> http://groups.google.com/group/python_inside_maya/subscribe >>>> >>> >>> -- >>> view archives: http://groups.google.com/group/python_inside_maya >>> change your subscription settings: >>> http://groups.google.com/group/python_inside_maya/subscribe >>> >> >> >> >> -- >> ______________________________ >> >> -> Renato Polimeno >> +55 11 7539 3615 >> renatopolimeno.com <http://www.renatopolimeno.com> >> <http://www.renatopolimeno.com/>facebook.com/renato.polimeno< http://www.facebook.com/renato.polimeno> >> @renatopolimeno <http://www.twitter.com/renatopolimeno> >> >> >> -- >> view archives: http://groups.google.com/group/python_inside_maya >> change your subscription settings: >> http://groups.google.com/group/python_inside_maya/subscribe >> > > -- > view archives: http://groups.google.com/group/python_inside_maya > change your subscription settings: http://groups.google.com/group/python_inside_maya/subscribe -- view archives: http://groups.google.com/group/python_inside_maya change your subscription settings: http://groups.google.com/group/python_inside_maya/subscribe
