[Tutor] Querying a module's package path?

Eric Pavey warpcat at gmail.com
Wed Nov 11 17:12:03 CET 2009


On Tue, Nov 10, 2009 at 11:15 PM, Lie Ryan <lie.1296 at gmail.com> wrote:

> Eric Pavey wrote:
>
>> Presume I have a package 'a' like this:
>>
>>    * /pystuff  (added to sys.path)
>>          o /a  (start of my package)
>>
>>                + __init__.py
>>                + /b                        # __init__.py
>>                      # module.py
>>
>> to import module.py:
>> import *a.b.module*
>>
>> What I'm trying to find is a way to query exactly what I typed above (in
>> bold):  Inside of module.py, can it query it's path back to the package
>> root?
>>
>
> Why would you want that? Can you describe the problem you're having now
> that requires you to know the module's package path? Right now, you're just
> describing a solution to your problem, not the problem itself. Maybe we can
> find another solution that doesn't involve knowing the module's package
> path.
>
>
I know the feeling: "why would he ever want *that*...?"   :)

I'm building a high-level character rigging system in Autodesk Maya for the
next game I'm on, which uses Python as the scripting language.  Each piece
of the animation rig (which are a collection of 'physical nodes in Maya') is
authored via a Python module, and I want to store on the nodes which code
created which piece.  So during the execution of a module, it creates a
variety of rigging nodes in Maya that perform their function inside that
software.  I want to embed the name of the module, relative to the path,
into the node itself, so later unrelated code can query up what built it,
and call to additional Python modules based on that.

In a simpler sense it could be abstracted like this:  I have a module that
creates a text file.  In that text file, I want to write out the name of the
module, with package, that made it, so later I know what code created it.

I could completely hand-code this info in each module, but I wanted to make
it automated so it's easier for other people to use my code and not screw it
up :P  Plus my package is a bit in flux as I develop it, so things might
move around, and I don't want to have to remember to go back and change a
bunch of hard-coded paths.

I have some hacky code now that does what I need, but this is screaming for
some built-in system that returns it, IMO.

thanks!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20091111/c0969ad5/attachment.htm>


More information about the Tutor mailing list