zoukankan      html  css  js  c++  java
  • json模块

    很多程序都要求用户输入某种信息,如让用户存储游戏首选项或提供要可视化的数据,程序都把用户提供的信息存储在列表和字典等数据结构中。用户关闭程序时,可以使用模块json来存储数据。

    Json模块提供了四个功能:dumps、dump、loads、load

    例子一

     1 #!/usr/bin/evn python
     2 # -*- coding:utf-8 -*-
     3 import json
     4 numbers = [2, 5, 3, 7, 11, 13]
     5 filename = "numbers.json"
     6 with open(filename, "w") as f:
     7     json.dump(numbers, f)
     8     
     9 """
    10 json.dump(numbers, f)接受两个参数,存储数据和存储文件对像
    11 """
     1 #!/usr/bin/evn python
     2 # -*- coding:utf-8 -*-
     3 import json
     4 filename = "numbers.json"
     5 with open(filename) as f:
     6     numbers = json.load(f)
     7     print(numbers)
     8 
     9 
    10 输入结果:
    11 [2, 5, 3, 7, 11, 13]

    例子二

     1 #!/urs/bin/evn python
     2 # -*- coding:utf-8 -*-
     3 import json
     4 # 如果以前存储了用户名,就加载它
     5 # 否则,就提示用户名输入用户名并存储它
     6 filename = "username.json"
     7 try:
     8     with open(filename) as f:
     9         username = json.load(f)
    10 except FileNotFoundError:
    11     username = input("请输入用户名:")
    12     with open(filename, "w") as f:
    13         json.dump(username, f)
    14 else:
    15     print("welcome back" + "	" + username)
     1 #!/usr/bin/evn python
     2 # -*-coding:utf-8 -*-
     3 import json
     4 data = {
     5     "roles":[
     6         {"roles":"monster","type":"pig","life":50},
     7         {"roles":"hero","type":"关羽","life":80},
     8     ]
     9 }
    10 d = json.dumps(data)  # 将数据类型转成字符串,序列化
    11 print(d, type(d))
    12 d2 = json.loads(d)  # 将字符串转成相应的数据类型,反序列化
    13 print(d2["roles"], type(d2))
    14 
    15 
    16 输入结果:
    17 {"roles": [{"roles": "monster", "type": "pig", "life": 50}, {"roles": "hero", "type": "u5173u7fbd", "life": 80}]} <class 'str'>
    18 
    19 [{'roles': 'monster', 'type': 'pig', 'life': 50}, {'roles': 'hero', 'type': '关羽', 'life': 80}] <class 'dict'>

                                                                                                                                                                                                                                                                             

  • 相关阅读:
    CSS中可以通过哪些属性定义,使得一个DOM元素不显示在浏览器可视范围内?
    贝塞尔曲线
    A little composer
    ABAQUS操作笔记
    ABAQUS薄板实例
    引用
    引用、重载、递归概念及应用
    Photoshop图片处理-云毕业照
    图片存储大小更改
    论文公式之“公式居中,序号在右”
  • 原文地址:https://www.cnblogs.com/zqxqx/p/8489500.html
Copyright © 2011-2022 走看看