Any way to properly pretty-print ordered dictionaries?

后端 未结 15 1510
春和景丽
春和景丽 2020-12-07 14:34

I like the pprint module in Python. I use it a lot for testing and debugging. I frequently use the width option to make sure the output fits nicely within my terminal window

15条回答
  •  陌清茗
    陌清茗 (楼主)
    2020-12-07 15:06

    The pprint() method is just invoking the __repr__() method of things in it, and OrderedDict doesn't appear to do much in it's method (or doesn't have one or something).

    Here's a cheap solution that should work IF YOU DON'T CARE ABOUT THE ORDER BEING VISIBLE IN THE PPRINT OUTPUT, which may be a big if:

    class PrintableOrderedDict(OrderedDict):
        def __repr__(self):
            return dict.__repr__(self)
    

    I'm actually surprised that the order isn't preserved... ah well.

提交回复
热议问题