Используя pathlib, родительский родитель просто возвращает самого первого родителя (parent.parent == parent) - PullRequest
0 голосов
/ 15 мая 2019

Я пытаюсь найти родительский каталог каталога, в котором находится мой скрипт:

this = pathlib.Path(__name__)
parent = this.parent
parent2 = parent.parent

Но распечатка показывает, что второй .parent не работает:

print(this, this.absolute())
print(parent, parent.absolute())
print(parent2, parent2.absolute())
print(this.parent == this.parent.parent)

Получает вывод:

__main__ C:\Users\Markus\Projects\PathTest\bin\__main__
. C:\Users\Markus\Projects\PathTest\bin
. C:\Users\Markus\Projects\PathTest\bin
True

Я не знаю, в чем может быть проблема?

1 Ответ

1 голос
/ 15 мая 2019

, как показывает распечатка: если parent = '.', то parent.parent также будет ..

, попробуйте заранее определить путь:

this = Path(__file__).resolve()

также обратите внимание, что __file__ даст вам путь к вашему файлу;не __main__.

...