[{TableOfContents }]


!! How to get the path where the current script you're running lives?

{{{ sys.path[0]}}}  returns the path of the script that launched the python interpreter.  If you can this script directly, it will return the path of the script.  If the script however, was imported from another script, it will return the path of that script.

!! Import a file from a directory

! Simple

To import {{general.py}}

%%prettify 
{{{
import sys
sys.path.append('../somedir')
from general import somefunction
}}}
/%

! Better

You may want to execute the script from any arbitrary path.

%%prettify 
{{{
import sys
sys.path.append(os.path.abspath(os.path.join(sys.path[0], '..', 'somedir')))
from general import somefunction
}}}
/%

! Proper

The Better script will work in situations where the script is called from the shell.  If it called from another python script, it may not work.

----
[Python | CategoryComputing.Lang.Python] - [Fixme | CategoryFixme]