1

我的程序是一个处理文件的管道。我有一个存储目录路径的字典(P)。所有这些目录路径都与生成它们的公共根路径相关。当我在字典之外定义 ROOT 时,字典起作用,如下所示:

# WORKS
from pathlib import Path
    
ROOT = Path("/very/long/path/")
P = {
    "ROOT": ROOT,
    "FS_TO_IDX": ROOT / "docs/",
    "IDXD_FS": ROOT / "indexed_docs/",
}

这似乎不优雅。由于 ROOT 已经是 dict 的一个元素,我更愿意使用 ROOT 值来生成剩余的 dict 值。但是,当我执行以下操作时,我得到“未定义的变量:P”。

# FAILS    
from pathlib import Path

P = {
    "ROOT": Path("/very/long/path/"),
    "FS_TO_IDX": P["ROOT"] / "docs/",
    "IDXD_FS": P["ROOT"] / "indexed_docs/",
}

是否有类似的方法可以让我分配一个字典值,然后使用相同的键/值来定义字典中的其他值?例如,海象运算符 (:=) 似乎提供了类似的行为,它允许一个表达式中的变量赋值,然后使用该变量。

4

0 回答 0