发信人: monolita(呆buster), 信区: Script
标 题: 在python中把巨大对象dump到object literal
发信站: 饮水思源 (2013年10月03日09:34:14 星期四)

我想在程序中的若干处把内部数据dump到文件
dump需要是人类可读的

python2的PrettyPrint会把字符串用Unicode Escape Sequences打印出来
为了让结果可读, 我用下面这个pp函数再替换成string literal
结果大概正确, 但是当obj过大时会吃掉大量内存
有啥其他方法没

def pp(obj):
# from http://d.hatena.ne.jp/nokuno/20110821/1313884599
pp = pprint.PrettyPrinter(indent=4, width=160)
str = pp.pformat(obj)
return re.sub(r"\\u([0-9a-f]{4})", lambda x: unichr(int("0x"+x.group(1), 1
6)), str)

--
兩點笑點可以連成笑線,而三條笑線可以組成笑面






※ 来源:·饮水思源 bbs.sjtu.edu.cn·[FROM: 133.9.4.11]