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 查询,可能有更好的方法来完成您所做的事情,而不是使用字符串格式
我正在尝试传递字典(从 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 查询,可能有更好的方法来完成您所做的事情,而不是使用字符串格式