PathLib 是如何工作的

How does PathLib Works

我在 Python3.x 上使用 Pathlib,我发现了一段让我好奇的代码。

from pathlib import Path
BASE = Path('/mydir').resolve(strict=True).parent.parent
print( BASE / 'Sub-dir')

这很完美,打印出来:

/mydir/Sub-dir

我很想知道它是如何工作的,如果有人能帮助我的话。 问候

它实现了 __truediv()__ 方法。

来自https://github.com/python/cpython/blob/master/Lib/pathlib.py

def __truediv__(self, key):
    try:
        return self._make_child((key,))
    except TypeError:
        return NotImplemented

__truediv()__ 定义除法运算符 / 如何处理 class 的对象。在这种情况下,它使用第二个操作数

创建一个子路径