Изменить каталог на каталог скрипта Python
Как мне изменить каталог на каталог с моим скриптом Python? Пока я понял, что я должен использовать os.chdir
а также sys.argv[0]
, Я уверен, что есть лучший способ написать собственную функцию для разбора argv[0].
4 ответа
Решение
os.chdir(os.path.dirname(os.path.abspath(__file__)))
должен сделать это.
os.chdir(os.path.dirname(__file__))
не будет работать, если скрипт запускается из каталога, в котором он находится.
Иногда __file__
не определено, в этом случае вы можете попробовать sys.path[0]
В ОС Windows, если вы вызываете что-то вроде python somefile.py, этот os.chdir(os.path.dirname(__file__)) вызовет ошибку WindowsError. Но это должно работать для всех случаев:
import os
absFilePath = os.path.abspath(__file__)
os.chdir( os.path.dirname(absFilePath) )