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

时间:2020-10-12 09:02:31

标签: python-3.x format unpack

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

或者还有其他更好的方法将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

2 个答案:

答案 0 :(得分:1)

在您的public function hex2bin($hexdata) { $bindata = ""; for ($i = 0; $i < strlen($hexdata); $i += 2) { $bindata .= chr(hexdec(substr($hexdata, $i, 2))); } return $bindata; } 中将query_2更改为{TEST2.TEST21}即可。

例如。

{TEST2[TEST21]}

输出

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

答案 1 :(得分:1)

使用f弦

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

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

print(query_2)

注意,如果查询是sql查询,则可能有更好的方法来执行您的操作,而不使用字符串格式