Python pathlib无法用/构建路径

时间:2015-12-18 13:03:42

标签: python pathlib

我正在使用库pathlib,并尝试按以下方式构建路径。

BASE_DIR = Path(__file__).ancestor(3)
secrets_file = BASE_DIR / 'main_app' / 'settings' / 'secrets.json'

然而,在运行时,我收到以下错误:

TypeError: unsupported operand type(s) for /: 'Path' and 'str'

我认为我遵循pathlib documentation中定义的语法(但可能不是一种模糊的方式)。

>>> p = Path('/etc')
>>> q = p / 'init.d' / 'reboot'

我做错了什么?

1 个答案:

答案 0 :(得分:1)

为了便于阅读,我更喜欢使用Path.joinpath。在您的情况下,它将是:

BASE_DIR.joinpath('main_app','settings', 'secrets.json')

因此,您可以使用*运算符,对于长行,它会更舒适。使用库提供的工具可确保您不会遇到这些错误,因为它们会为您处理详细信息。