Это всегда получает правильное имя файла текущего скрипта, даже если он вызывается из другого скрипта. Это особенно полезно при использовании subprocess
.
import sys,os
filename = sys.argv[0]
оттуда вы можете получить полный путь к скрипту с помощью:
>>> os.path.abspath(filename)
'/foo/bar/script.py'
Это также упрощает навигацию по папкам, просто добавляя /..
столько раз, сколько вы хотите, чтобы перейти вверх по иерархии каталогов.
Чтобы получить cwd:
>>> os.path.abspath(filename+"/..")
'/foo/bar'
Для родительского пути:
>>> os.path.abspath(filename+"/../..")
'/foo'
Комбинируя "/.."
с другими именами файлов, вы можете получить доступ к любому файлу в системе.