以“黑色风格”漂亮地打印Python字典/列表

问题描述 投票:0回答:1

我不太喜欢 Python 的 pprint 格式化输出的方式。例如

import pprint
from datetime import datetime
d = {
    'a': [
        {
            '123': datetime(2021, 11, 15, 0, 0),
            '456': 'cillum dolore eu fugiat nulla pariatur. Excepteur sint...',
            '567': [
                1, 2, 'cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.'
            ]
        }
    ],
    'b': {
        'x': 'yz'
    }
}
pprint.pprint(d)

将打印:

{'a': [{'123': datetime.datetime(2021, 11, 15, 0, 0),
        '456': 'cillum dolore eu fugiat nulla pariatur. Excepteur sint...',
        '567': [1,
                2,
                'cupidatat non proident, sunt in culpa qui officia deserunt '
                'mollit anim id est laborum.']}],
 'b': {'x': 'yz'}}

但我希望它是:

{
    "a": [
        {
            "123": datetime.datetime(2021, 11, 15, 0, 0),
            "456": "cillum dolore eu fugiat nulla pariatur. Excepteur sint...",
            "567": [
                1,
                2,
                "cupidatat non proident, sunt in culpa qui officia deserunt "
                "mollit anim id est laborum.",
            ],
        }
    ],
    "b": {"x": "yz"},
}

Black

风格

是否有 pprint 或某些第三方库的参数可以执行此操作?我想我可以使用黑色进行某些输出,但我想知道是否有开箱即用的解决方案

编辑:一个很好的建议是使用

print(json.dumps(d, indent=4))
。如果整个事情是 JSON 可序列化的,那么这可以完成工作,但不幸的是,否则就不起作用。

python formatting pprint
1个回答
0
投票

没有使用 pprint 粘附黑色的解决方案。但是,如果您不想使用 json 转储,我编写了这个自定义的漂亮打印格式化程序来完成这项工作: 黑色风格打印机

© www.soinside.com 2019 - 2024. All rights reserved.