1 0ZXYDDu796nVCFxq 2017-10-11 18:01:16 +08:00 这是什么鬼…… 1. None, False 是 dict null, false 是 json 2. dict = json.dumps 为啥要用内置函数名做变量名,而且 json.dumps 后类型是 str,变量名是 dict 最后 要把字典写入数据 直接 f.write(str(a)) 就可以了 |
![]() | 2 konia 2017-10-11 18:01:24 +08:00 ``` { "deleted": False, "type": 1, "addr": "北京", "name": None } ``` 这种就不是合法的 json 格式吧。为啥要这么存。。。 |
![]() | 3 tihiro OP @gstqc 第一点,我知道的,目的是为了写入到文件中,后面直接把文件拿过来当字典使用 第二点,确实不应该这么用,抱歉,考虑不周。 最后直接 f.write(str(a)) 格式太丑了,而且 unicode 字符串是\u 形式转义了的。 |
4 azh7138m 2017-10-11 18:09:04 +08:00 可以用 pickle 这种问题叫做序列化:) |
5 azh7138m 2017-10-11 18:10:21 +08:00 没看到还要舒服的格式:( 那用 xml 自己慢慢存? |
6 lolizeppelin 2017-10-11 19:24:06 +08:00 存 json, 有参数让 json 格式变漂亮,有参数输出中文,自己找 |
![]() | 7 linw1995 2017-10-11 20:46:24 +08:00 不是一般用 json 比较多吗?写入用 json.dump,读取用 json.load 就好了。若是数据量大用 pickle 序列化后存到文件里,或者把 json 格式写成 gzip 压缩的。 |
![]() | 8 azurexie 2017-10-11 20:48:27 +08:00 中文转码建议用 codecs |