how to get the path of a module (myself) ?

Carl Banks pavlovevidence at gmail.com
Tue Jun 2 04:25:41 CEST 2009


On Jun 1, 4:46 pm, Stef Mientki <stef.mien... at gmail.com> wrote:
> MRAB wrote:
> > Stef Mientki wrote:
> >> hello,
>
> >> I've pictures stored in a path relative to my python source code.
> >> To get a picture, I need to know what path I'm on in each python module.
> >> I thought __file__ would do the job,
> >> but apparently I didn't read the documentation carefully enough,
> >> because file is the path to the module that called my module.
>
> >> Any ways to get the path of "myself" ?
>
> > I'm not sure what you mean. I just did a quick test.
>
> > # File: C:\Quick test\child.py
> > print "name is %s" % __name__
> > print "file is %s" % __file__
>
> > # File: C:\Quick test\parent.py
> > import child
>
> > print "name is %s" % __name__
> > print "file is %s" % __file__
>
> > # Output:
> > name is child
> > file is C:\Quick test\child.py
> > name is __main__
> > file is C:\Quick test\parent.py
>
> Yes, that's what I (and many others) thought,
> but now put your code in a file, let's say the file "test.py",
> and now run this file by :
>     execfile ( 'test.py' )

How can you execfile test.py without knowing the path to it?  Whatever
path you used to locate test.py is where the file is.  If you're just
execfiling a bare filename, then it's in the current directory, so
just construct a relative pathname.


Carl Banks



More information about the Python-list mailing list