首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python pathlib无法使用/构建路径

Python pathlib无法使用/构建路径
EN

Stack Overflow用户
提问于 2015-12-18 21:03:42
回答 2查看 1.1K关注 0票数 3

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

代码语言:javascript
复制
BASE_DIR = Path(__file__).ancestor(3)
secrets_file = BASE_DIR / 'main_app' / 'settings' / 'secrets.json'

但是,在运行此程序时,我得到以下错误:

代码语言:javascript
复制
TypeError: unsupported operand type(s) for /: 'Path' and 'str'

我认为我遵循了pathlib documentation中定义的语法(但我可能不是以一种晦涩难懂的方式)。

代码语言:javascript
复制
>>> p = Path('/etc')
>>> q = p / 'init.d' / 'reboot'

我做错了什么?

EN

回答 2

Stack Overflow用户

发布于 2015-12-18 21:15:07

几乎可以肯定的是,您已经定义了一个名为Path的自定义类(或从另一个模块导入的路径)。在任何一种情况下,该路径都会使pathlib中的路径黯然失色。要进行验证,请运行

代码语言:javascript
复制
print(Path.__module__)

找出Path来自哪个模块。

票数 4
EN

Stack Overflow用户

发布于 2015-12-18 21:16:26

考虑到可读性,我更喜欢使用Path.joinpath。在您的情况下,它将是:

代码语言:javascript
复制
BASE_DIR.joinpath('main_app','settings', 'secrets.json')

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34356361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档