使用pathlib将目录添加到sys.path

kha*_*iuk 11 python pathlib

我正在尝试将目录添加到PATH机智代码中,如下所示:

PROJECT_DIR = Path(__file__).parents[2]
sys.path.append(
    PROJECT_DIR / 'apps'
)
Run Code Online (Sandbox Code Playgroud)

它不起作用.如果我打印,sys.path我看到这样的事情:

[..., PosixPath('/opt/project/apps')]
Run Code Online (Sandbox Code Playgroud)

我该如何修复此代码?写作是正常的str(PROJECT_DIR / 'apps')吗?

hir*_*ist 15

您需要将路径作为字符串附加到sys.path:

PROJECT_DIR = Path(__file__).parents[2]
sys.path.append(
    str(PROJECT_DIR / 'apps')
)
Run Code Online (Sandbox Code Playgroud)

PROJECT_DIR是的例子PosixPath有所有的好东西喜欢/parents等等,但你需要将它转换为常规字符串,如果你想使用是某个字符串是预期的 - 就像sys.path.


Tom*_*Tom 6

对类路径对象的支持sys.path即将到来(请参阅此拉取请求),但尚未提供。