Getting module path string from a class instance

Dave Angel d at davea.name
Tue Nov 13 10:36:30 CET 2012


On 11/13/2012 01:38 AM, Some Developer wrote:
> I'm trying to find a way to get a string of the module path of a class.
>
> So for instance say I have class Foo and it is in a module called
> my.module. I want to be able to get a string that is equal to this:
> "my.module.Foo". I'm aware of the __repr__ method but it does not do
> what I want it to do in this case.
>
> Can anyone offer any advice at all?

So you have:

import my.module
theclass = my.module.Foo
print tellme(theClass)

and you want to know how to write tellme?  Why not just change it to
take a string, and pass it  "my.module.Foo" ?

If you have stored the class away somewhere, and want to figure it out
from there, you could look at the __module__ attribute.  that'll tell
you the module name, but not the class name.


If you're really asking how to get that string from an INSTANCE of the
class, then try the __class__ attribute of that instance.




-- 

DaveA



More information about the Python-list mailing list