2010-07-19 4 views
22

если у меня есть файл test.py, который находится в каком-то каталоге, как я могу узнать из test.py, в какой каталог он находится? os.path.curdir предоставит текущий каталог, но не каталог, в котором находится файл. Если я вызову test.py из некоторого каталога «foo», os.curdir вернет foo, но не путь test.py.выяснить абсолютный путь к файлу из python

спасибо.

ответ

17

ответ заключается в использовании:

__file__ 

который возвращает относительный путь.

os.path.abspath(__file__) 

можно использовать для прохождения полного пути.

0

os.path имеет множество инструментов для обработки путей и получения информации о путях.

В частности, вы хотите:

os.path.abspath 
28

Вот как получить каталог текущего файла:

import os 
os.path.abspath(os.path.dirname(__file__)) 
+0

Это правильный ответ и должен быть помечен как таковой. – catalyst294

1
import os 
dirname, filename = os.path.split(os.path.abspath(__file__)) 
5

ответы до сих пор правильно указал вам os.path.abspath, что делает точно задание, которое вы запросили. Однако не забывайте, что os.path.normpath и os.path.realpath также могут быть очень полезны в таких задачах (нормализовать представление и удалять символические ссылки, соответственно) во многих случаях (независимо от того, входит ли ваш конкретный случай использования среди этих «многих», невозможно из скудной информации у нас, конечно ;-).

Смежные вопросы