Как получить родительское местоположение dir

этот код, получают templates/blog1/page.html в b.py:

path = os.path.join(os.path.dirname(__file__), os.path.join('templates', 'blog1/page.html'))

но я хочу получить родительское местоположение dir:

aParent
   |--a
   |  |---b.py
   |      |---templates
   |              |--------blog1
   |                         |-------page.html
   |--templates
          |--------blog1
                     |-------page.html

и как получить очевидное местоположение

спасибо

обновленный:

это правильно:

dirname=os.path.dirname
path = os.path.join(dirname(dirname(__file__)), os.path.join('templates', 'blog1/page.html'))

или

path = os.path.abspath(os.path.join(os.path.dirname(__file__),".."))
123
задан Tim 7 May 2014 в 06:06
поделиться

3 ответа

Вы можете применять dirname многократно, чтобы подняться выше: dirname(dirname(file)). Однако это может дойти только до корневого пакета. Если это проблема, используйте os.path.abspath: dirname(dirname(abspath(file))).

158
ответ дан 24 November 2019 в 01:13
поделиться
os.path.dirname(os.path.abspath(__file__))

Должен указать путь к a .

Но если b.py - это файл, который выполняется в данный момент, то вы можете добиться того же, просто выполнив

os.path.abspath(os.path.join('templates', 'blog1', 'page.html'))
11
ответ дан 24 November 2019 в 01:13
поделиться

Может быть соединен с двумя ... папки, чтобы получить родителя родительской папки?

path = os.path.abspath(os.path.join(os.path.dirname(os.path.abspath(__file__)),"..",".."))
3
ответ дан 24 November 2019 в 01:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: