On Tue, 02 Jun 2009 01:46:23 +0200, Stef Mientki 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' )
In that case, test.py is not a module. It's just a file that by accident has a .py extension, which is read into memory and executed. If you bypass the module mechanism, don't be surprised that you've bypassed the module mechanism :) What are you trying to do? Using execfile is probably not the right solution. -- Steven -- http://mail.python.org/mailman/listinfo/python-list