当前位置: 首页 > news >正文

9.1 json 模块

目录
  • 9.1 json 模块
    • 9.1.1 json模块
      • 1. dumps& loads (在内存中使用)
      • 2. load &dump (文件中转换使用 )
      • 3. 总结

9.1 json 模块

#注册使用with open 保存为.txt文本,保存为字符串,取出也是字符串,很多行修改起来很麻烦
username1|pwd|extra|is_locked(0|1)
username2|pwd|extra|is_locked(0|1)
username3|pwd|extra|is_locked(0|1)#用with open打开文本,但是保存为.json文本

9.1.1 json模块

  1. json模块一般用于保存python中的字典(最常用)或列表

  2. json模块只做过度后续用数据库

1. dumps& loads (在内存中使用)

#(1)dumpsimport json 
coco_info={'username':'coco','height':185,'weight':140,'pwd':123,'extra':15000,'is_locked':0}res=json.dumps(coco_info) #字典存进去的是字符串,也是json串(和字典很像,只不过它里面所有元素都是双引号)
print(res,type(res)) #输出
{"username": "coco", "height": 185, "weight": 140, "pwd": 123, "extra": 15000, "is_locked": 0} <class 'str'>
#(2)loads
res2=json.loads(res) #从文件取出来是字典
print(res2,type(res2)) #输出
{'username': 'coco', 'height': 185, 'weight': 140, 'pwd': 123, 'extra': 15000, 'is_locked': 0} <class 'dict'>
#(3)小练习
#之前写购物车系统,使用.txt文件保存用户信息,修改用户锁定状态非常困难,但是使用json修改起来很简单。coco_info['is_localed']=1
res=json.dumps(coco_info)  #存入res2=json.loads(res) #读取
print(res2,type(res2)) #输出
{'username': 'coco', 'height': 185, 'weight': 140, 'pwd': 123, 'extra': 15000, 'is_locked': 0, 'is_localed': 1} <class 'dict'>

2. load &dump (文件中转换使用 )

#(1)dump(写入内容,文件)
coco_info={'username':'coco','height':185,'weight':140,'pwd':123,'extra':15000,'is_locked':0}with open('userinfo.json','w',encoding='gbk')as f_w:json.dump(coco_info,f_w)#(2)load(文件)
with open('userinfo.json','r',encoding='gbk')as f_r:data=json.load(f_r)
print(data)#输出
{'username': 'coco', 'height': 185, 'weight': 140, 'pwd': 123, 'extra': 15000, 'is_locked': 0}
#(3)小练习修改锁定状态
coco_info={'username':'coco','height':185,'weight':140,'pwd':123,'extra':15000,'is_locked':0}#存入信息
def save_file(filename,content):with open(filename,'w',encoding='gbk')as f_w:json.dump(content,f_w)#取出信息
with open('userinfo.json','r',encoding='gbk')as f_r:data=json.load(f_r)
print(data)
#输出
{'username': 'coco', 'height': 185, 'weight': 140, 'pwd': 123, 'extra': 15000, 'is_locked': 0}data['is_locaked']=1
save_file('userinfo.json',data)
  • json有个弊端,想保存多条信息,要通过列表插入,那么就变得非常复杂。因此可以将'userinfo.json'改为f'{username}.json',一个用户一个json文件用的时候按用户名存取。
  • 一个文件夹专门存放用户的json文件,搜寻有没有这个用户的json文件,使用OS模块
#(4)注册阶段和修改阶段
coco_info={'username':'coco','height':185,'weight':140,'pwd':123,'extra':15000,'is_locked':0}#注册阶段
def save_file(filename,content):with open(filename,'w',encoding='gbk')as f_w:json.dump(content,f_w)#修改阶段
username='coco'
with open(f'{username}.json','r',encoding='gbk')as f_r:data=json.load(f_r)
data['is_locaked']=0
username='coco'
save_file(f'{username}.json',data)
#os模块简单了解
#创建json文件夹保存所有用户的json文件
import osprint(os.listdir(r'json文件夹目录')) #取出所有用户json文件列表#输出:
['coco.json', 'jane.json', 'mike.json']
#(5)判断用户是否已经注册#方式1
import osname_list=os.listdir(r'json文件所在目录')
#此时name_list=['coco.json', 'jane.json', 'mike.json']#数据处理
name_list=map(lambda name:name.replace('.json',''),name_list)
#name_list=['coco', 'jane', 'mike']username='coco'
for user in name_list:if username==user:print('用户名已存在')break#方式2
username='coco.json' #手动添加'.json'字符后去作比对name_list=os.listdir(r'json文件所在目录')
for user in name_list:if username==user:print('用户名已存在')break

3. 总结

#dump & load 用的多
import json
json.dump(obj,fr) #把字典对象存入文件
json.load(fr) #把文件内容读成字典
http://www.sczhlp.com/news/55160/

相关文章:

  • 关于网站开发的会议纪要网站设计的公司如何选
  • 网站攻击网络营销专业信息
  • seo整站优化多少钱wordpress报名功能
  • 做网站怎么去文化局备案物业管理系统业务流程图
  • 新浪云怎么做淘宝客网站遵化市城乡建设局网站
  • 02020209 .NET Core重难点知识09-聚合函数、分组、投影、匿名类型、投影与匿名类型
  • 郴州网站建设哪里比较好二级域名 wordpress
  • 重庆做网站公司电话怎样创建网站和网页
  • 泰安网站建设公司WordPress添加下载弹窗
  • wordpress 建站系统专门做防盗门的网站
  • 全网营销推广网站建设管城郑州网站建设
  • 怎么做自己的免费网站wordpress第一篇文章id
  • 在哪找可以做网站的桂林生活网租房信息
  • 网站规范建设百度搜索指数是怎么计算的
  • 逆序对
  • 如何做的网站手机可以用北京官网优化公司
  • 如何写网站开发的分析淘宝网站建设的详细策划
  • 如何用.net做网站网页制作教程零基础合集
  • 网站后台框架模版网页设计心得体会600
  • 网络优化工程师工作内容网站运营之怎样做好seo优化
  • 网站平台多少钱白沙网站建设的基本情况
  • 学校网站php源码浙江可以做会计题目的网站
  • 联雅网站建设公司wordpress固定链接设置访问出错
  • 凝血酶适配体筛选新方法:PEG 水凝胶一步富集,无需阴性筛选
  • P1383 高级打字机
  • 加强检察院门户网站建设网站专题制作
  • php做各种网站类型得模板良品铺子网站规划和建设
  • 网站建设先进个人材料临河网站建设
  • 网站后台功能需求wordpress 本地文章
  • 制作网站需要wordpress蓝色网站欣赏