Python 如何格式化输出对象到文件?

2016 年 2 月 8 日
 fourstring

如题。。。
在做一个练手小项目,配置文件是直接用 py 源代码,里面存字典。
现在想做成既可以手动修改配置文件,也可以程序本身支持交互式修改。问题是 Python 默认的字典输出就挤在一块了。。。这样的话用户手动修改会很不方便。
所以请问有没有能用缩进分明的样式输出字典的方法?就像在 IDE 里手动输入字典的样子。。。
感谢!

4982 次点击
所在节点    Python
8 条回复
11
2016 年 2 月 8 日
fourstring
2016 年 2 月 8 日
@11 感谢!好棒的模块
Daniel65536
2016 年 2 月 8 日
>>> import json
>>> config = ['foo', {'bar': ['baz', None, 1.0, 2]}]
>>> print(json.dumps(parsed, indent=4, sort_keys=True))
[
"foo",
{
"bar": [
"baz",
null,
1.0,
2
]
}
]

with open('filename.txt', 'r') as handle:
parsed = json.load(handle)
leeyiw
2016 年 2 月 8 日
JSON 、 ProtoBuf 、 Marshal 、 Pickle 都是不错的序列化库。
RqPS6rhmP3Nyn3Tm
2016 年 2 月 9 日
序列化…我喜欢 json
KentY
2016 年 2 月 9 日
zog
2016 年 2 月 11 日
import pprint
pprint.pprint({'foo':{'bar':{'zee': 'hello'}}))

用 pprint 这个包
fourstring
2016 年 2 月 11 日
@zog 是……我也才想起来这个包,被你一提醒我就想起来以前有个小玩意还用了这个……

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/255861

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX