码迷,mamicode.com
首页 > 编程语言 > 详细

python模块-json、pickle

时间:2018-11-17 19:19:26      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:imp   print   文件中   pen   load   文本   单引号   write   span   

json模块

用于文件处理时的其他数据类型与js字符串之间转换。在将其他数据类型转换为js字符串时,首先将前者内部所有的单引号变为双引号,再整体加上引号(单或双)转换为js字符串;在使用时再将js字符串还原为本来的数据。

两对方法json.dumps()和json.loads(),json.dump()和json.load()

import json
l=[1,hello,{name:Alex}]
with open(new.txt,w) as f:
    l_str=json.dumps(l)  #将列表l转换为js字符串
    f.write(l_str)  #将字符串写入文本
    print(l_str, type(l_str))  #输出[1,"hello", {"name": "Alex"}] <class ‘str‘>,可以看见原列表中所有的单引号全部变成了双引号

with open(new.txt,r) as f:
    l=f.read()
    print(l,json.loads(l),type(json.loads(l)))  #输出[1,"hello", {"name": "Alex"}] [1,‘hello‘, {‘name‘: ‘Alex‘}] <class ‘list‘>

上述最后一行可以看见,由于写入时为js字符串,直接读取时也为js字符串,即引号全部为双引号,而json.loads()是将json处理过的字符串变成了原来的列表,并且处理过的双引号全部变回了单引号

在上述文件中,转换和写操作l_str=json.dumps(l)和f.write(l_str)可以用一步json.dump(l,f)代替

在上述文件中,读和转换操作l=f.read()和json.loads(l)可以用一步json.load(f)代替

python模块-json、pickle

标签:imp   print   文件中   pen   load   文本   单引号   write   span   

原文地址:https://www.cnblogs.com/Forever77/p/9974964.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!