python3 嵌套字典解压格式字符串

python3 nested dictionary unpack for format string

我正在尝试传递字典(从 JSON 文件加载)来格式化字符串。虽然单个键值 unpack 工作正常,但我不确定如何使用格式字符串访问 嵌套键 (子)。

或者有没有其他更好的方法将 JSON 传递给字符串格式?

config = {
    "TEST": "TEST",
    "TEST1": "TEST1",
    "TEST2": {
        "TEST21": "TEST21"
    }
}

query_1 = """
    {TEST} {TEST1}
"""
query_2 = """
    {TEST} {TEST1}
    {TEST2.TEST21}
"""

print(query_1.format( **config ))  # WORKING
print(query_2.format( **config ))  # NOT WORKING

在您的 query_2 中将 {TEST2.TEST21} 更改为 {TEST2[TEST21]} 它会起作用。

例如

query_2 = """
    {TEST} {TEST1}
    {TEST2[TEST21]}
"""
print(query_2.format(**config))

输出

TEST TEST1
TEST21

使用f-string

config = {
    "TEST": "TEST",
    "TEST1": "TEST1",
    "TEST2": {
        "TEST21": "TEST21"
    }
}

query_2 = f"""
    {config['TEST']} {config['TEST1']}
    {config['TEST2']['TEST21']}
"""

print(query_2)

注意,如果查询是 sql 查询,可能有更好的方法来完成您所做的事情,而不是使用字符串格式