zoukankan      html  css  js  c++  java
  • 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()

     

  • 相关阅读:
    写一个列表生成式,产生一个公差为11的等差数列
    如果对方网站反爬取,封IP了怎么办?
    为什么会选择redis数据库?
    你是否了解谷歌的无头浏览器?
    遇到的反爬虫策略以及解决方法?
    常见的HTTP方法有哪些?
    遇到反爬机制怎么处理?
    列举网络爬虫所用到的网络数据包,解析包?
    python中的关键字yield有什么作用?
    如下代码输出的是什么?
  • 原文地址:https://www.cnblogs.com/miyuki/p/9182841.html
Copyright © 2011-2022 走看看