因为需要在页面上展示dict的内容,但是不想太难看,于是写了一个dict美化输出的函数:
def pretty_dict(d, leading=' ', newline='\n', indent=0, tabstop=4, process=None):
"""
Output pretty formatted dict, for example:
d = {"a":"b",
"c":{
"d":"e",
"f":"g",
}
}
will output:
a : 'b'
c :
d : 'e'
f : 'g'
"""
for k, v in d.items():
if process:
k, v = process(k, v)
if isinstance(v, dict):
yield '%s%s : %s' % (indent*tabstop*leading, k, newline)
for x in pretty_dict(v, leading=leading, newline=newline, indent=indent+1, tabstop=tabstop):
yield x
continue
yield '%s%s : %s%s' % (indent*tabstop*leading, k, simple_value(v), newline)
有兴趣可以试试。