python json

1、json是一个字符串,只不过长得像字典

使用json需要引入json模块

import json

定义一个json串:

user_info='''{''nhy":"123456","lxy":"456789"}'''

外面三引号,大括号,双引号,冒号,逗号。双引号不可用单引号代替。

校验json格式是否正确的网站:www.bejson.com

2、把json串转成字典

user_dic=json.loads(user_info)

loads是和字符串有关的,可以读取字符串

3、把字典转成json串

stu_str=json.dumps(stu_info)

1 stu_info={'laowang':{'cars':['BMW','Ben-z]}}
2 stu_str=json.dumps(stu_info)
3 print(stu_str)
1 fw=open('stu.txt','w')
2 fw.write(stu_str)
3 fw.close()

dumps需要自己手动read一次,而dump不需要,它会自动帮你读

4、dump和load

json.dump()    #操作一个文件,不需要你自己write,它直接帮你写进去

json.dump()接受两个实参:要存储的数据以及可用于存储数据的文件对象。

1  stu_info={'laowang':{'cars':['BMW','Ben-z']}} #定义一个字典
2  f=open('stu.json') #打开一个json文件
3  res=json.dump(stu_info,f,indent=4)    #不需要再写一次文件,json帮你写入,indent=4表示帮你写4个缩进
4              # 存储数据,可用于存储的文件对象

 

json.load()     #操作一个文件,不需要你自己read,它直接帮你读,只能读文件

1  f=open('stu.json') #打开一个json文件
2  res=json.load(f)    #直接从文件里拿,不需要再赌一次文件,json帮你读
3  print(res)

 5、练习

注册验证:

 1 import json  #引入json模块
 2 f=open('users.txt','a+')  #打开users文件
 3 f.seek(0)
 4 all_user=json.load(f)   #把文件读取出来的内容放到字典中
 5 
 6 #注册
 7 for i in range(3):
 8     u = input('user:').strip()
 9     p = input('p:').strip()
10     cp = input('cp:').strip()
11     if not u or not p:  
12         print('账号、密码不能为空')
13     elif u in all_user:
14         print('该用户已经被注册!')
15     elif u not in all_user and cp==p:
16         all_user[u]=p
17         break
18 f.seek(0)
19 f.truncate()    #清空文档内容
20 json.dump(all_user,f)    #将all_user内容写进文件中
21 f.close()

 

posted @ 2018-06-14 14:26  Miyuki蛋卷  阅读(185)  评论(0编辑  收藏  举报