Изменить каталог на каталог скрипта Python

Как мне изменить каталог на каталог с моим скриптом Python? Пока я понял, что я должен использовать os.chdir а также sys.argv[0], Я уверен, что есть лучший способ написать собственную функцию для разбора argv[0].

4 ответа

Решение
os.chdir(os.path.dirname(__file__))

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) )
Другие вопросы по тегам