Я хотел бы посмотреть, как лучше определить текущий каталог скриптов в Python?
Я обнаружил, что из-за множества способов вызова кода на Python трудно найти хорошее решение.
Вот некоторые проблемы:
-  __file__не определен, если скрипт выполняется сexec,execfile
-  __module__определяется только в модулях
Случаи применения:
-  ./myfile.py
-  python myfile.py
-  ./somedir/myfile.py
-  python somedir/myfile.py
-  execfile('myfile.py')(из другого скрипта, который может находиться в другом каталоге и может иметь другой текущий каталог.
Я знаю, что не существует идеального решения, но я ищу лучший подход, который решает большинство случаев.
 Наиболее используемый подход - os.path.dirname(os.path.abspath(__file__)) но он действительно не работает, если вы выполняете скрипт из другого с помощью exec().
Предупреждение
Любое решение, использующее текущую директорию, потерпит неудачу, это может отличаться в зависимости от того, как вызывается скрипт, или его можно изменить внутри запущенного скрипта.
