使用 pathlib,parent 的 parent 只是 returns 第一个 parent 本身 (parent.parent == parent)

Using pathlib, parent's parent just returns the first parent itself (parent.parent == parent)

我正在尝试查找我的脚本所在目录的 parent 目录:

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

我一头雾水,请问是什么问题?

如打印输出所示:如果 parent = '.' 那么 parent.parent 也将是 ..

尝试预先解析路径:

this = Path(__file__).resolve()

还要注意 __file__ 会给你文件的路径;不是 __main__.