Измените каталог на каталог Python script

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

Ответ 1

os.chdir(os.path.dirname(__file__))

Ответ 2

Иногда __file__ не определен, в этом случае вы можете попробовать sys.path[0]

Ответ 3

os.chdir(os.path.dirname(os.path.abspath(__file__))) должен это сделать.

os.chdir(os.path.dirname(__file__)) не будет работать, если script запускается из каталога, в котором он присутствует.

Ответ 4

в ОС Windows, если вы вызываете что-то вроде python somefile.py, это os.chdir(os.path.dirname(__ file __)) будет вызывать WindowsError. Но это должно работать во всех случаях:

import os
absFilePath = os.path.abspath(__file__)
os.chdir( os.path.dirname(absFilePath) )