maybe a stupid question
Christian Heimes
lists at cheimes.de
Fri Aug 8 20:19:15 EDT 2008
Strato wrote:
> I have an app installed in /usr/lib/python2.5/site-package/MyApp
>
> I have a symlink in /usr/local/bin that points to
> /usr/lib/python2.5/site-package/MyApp/myscript.py
>
> Then, when I launch my script from anywhere using the symlink, how to
> determine that the script is located in
> /usr/lib/python2.5/site-package/MyApp ?
Put this in myscript.py:
import os.path
HERE = os.path.dirname(os.path.abspath(__file__))
You may also need
HERE = os.path.realpath(HERE)
Explanation:
Almost every module has a global variable __file__. It points to the
path from which the module was loaded. os.path.abspath() gives you the
absolute path to the module. os.path.dirname() strips away the file part
and gives you the path to the directory. os.path.realpath() migt be
required to eliminate all symbolic links.
Christian
More information about the Python-list
mailing list