этот код, получают 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__),".."))
Вы можете применять dirname многократно, чтобы подняться выше: dirname(dirname(file))
. Однако это может дойти только до корневого пакета. Если это проблема, используйте os.path.abspath
: dirname(dirname(abspath(file)))
.
os.path.dirname(os.path.abspath(__file__))
Должен указать путь к a
.
Но если b.py
- это файл, который выполняется в данный момент, то вы можете добиться того же, просто выполнив
os.path.abspath(os.path.join('templates', 'blog1', 'page.html'))
Может быть соединен с двумя ...
папки, чтобы получить родителя родительской папки?
path = os.path.abspath(os.path.join(os.path.dirname(os.path.abspath(__file__)),"..",".."))