发信人: 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]
标 题: 在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]
No comments:
Post a Comment