码迷,mamicode.com
首页 > Web开发 > 详细

重点:json模块

时间:2020-04-28 15:09:24      阅读:85      评论:0      收藏:0      [点我收藏+]

标签:python   ima   color   结果   类型转换   sof   eva   写入文件   data   

 

Json模块:可以进行任意语言之间的数据转换

一.与之前的eval()对比

dic={"name":"alex"}
f=open("hello","w",encoding="utf-8")              #新建一个文件
#此时想往f里存入dic得转换成字符串的格式
f.write(str(dic))
#之后在想打开这个文件用里面的东西
f_read=open(hello,"r",encoding="utf-8")
data=f_read.read()             #读取文件中的数据
print(type(data))              #输出的是字符串的形式,而不是字典的形式
#所以,应该转换数据类型
data=eval(data)
print(data["name"])

但是eval对于很多数据类型都处理不了,比如函数、类

二.json的使用:将python的数据类型转换成通用的json数据类型

(1)

import json
dic={"name":"alex"}
data=json.dumps(dic)            #将字符串的单引号全部变成双引号,再变成一个字符串
print(type(data))           #输出结果为<class ‘str‘>,这是一个json字符串
i=8
i=json.dumps(i)
print(i) #输出的也是8,但其本质也是一个json字符串
 
无论什么数据类型 经过json.dumps()都会形成一个json字符串
import json
dic={"name":"alex"}
dic_str=json.dumps(dic)            
print(type(dic_str))           
f=open("hello","w")
f.write(dic_str)                 #这样就可以将字典形式的东西先转换成json字符串,然后再写入文件中

技术图片

 

 

如果想把写入文件的东西read出来,可以用这种方法
import json
dic={"name":"alex"}
dic_str=json.dumps(dic)
print(type(dic_str))
# f=open("hello","w")
# f.write(dic_str)                 #这样就可以将字典形式的东西先转换成json字符串,然后再写入文件中
f_read=open("hello","r")
data=json.loads(f_read.read())
print(data)                    #得到的就是一个字典形式

 

只要字符串满足json规则(双引号),就可以直接拿出来loads使用。

PICKLE模块(和json使用起来类似,只有dumps和loads两种功能,不太重要)

区别:json生成的是json字符串格式,而pickle生成的是字节的形式。

 














重点:json模块

标签:python   ima   color   结果   类型转换   sof   eva   写入文件   data   

原文地址:https://www.cnblogs.com/yxzymz/p/12794063.html

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