美文网首页python
Python: JSON格式存储数据

Python: JSON格式存储数据

作者: 烂笔头2020 | 来源:发表于2020-04-20 17:51 被阅读0次

json格式在数据的传输之间起了一个很大的作用,而且也是一个通用的数据格式,觉得很有用,下面是在书上的摘抄,很基础,很好理解,适合刚学习json的小白。
摘取:《python编程从入门到实践》——【美】Eric Matthes著
模块json可以将简单的python数据结构转储到文件中,并在程序再次运行时加载该文件中的数据,还可以使用json在python程序之间分享数据,更重要的是,json数据格式并不是python专用的,可以与其他编程语言的人分享。
1、一个存储一组数据的简短程序:json.dump()
json.dump()接受两个参数:要存储的数据以及存储数据的文件对象

# -*- encoding: utf-8 -*-
import json
numbers=[2,3,5,7,11,13]
filename='number.json'
with open(filename,'w') as f_obj:
    json.dump(numbers,f_obj)

这个程序没有输出,到那时可以打开文件number.json看看其内容。

2、下面是编写刚刚存储的列表读取到内存中:json.load()

# -*- encoding: utf-8 -*-
import json
filename='number.json'
with open(filename) as f_obj:
    numbers=json.load(f_obj)
print(numbers)

这是一种在程序之间共享数据的简单方式。

保存和读取用户生成的数据

下面是一个简单的例子:用户首次运行程序时被提示输入自己的名字,这样再次运行程序时就记住他了。
1、先来存储用户的名字:

# -*- encoding: utf-8 -*-
#存储json格式文件
import json
username=input("what you name?")
filename="username.json"
with open (filename,'w') as f_obj:
   json.dump(username,f_obj)
   print("we'll remember your name when you come back," + username + "!")

2、再编写一个向其名字被存储的用户发出问候:

# -*- encoding: utf-8 -*-
#读取json格式文件的内容
import json
filename='username.json'
with open(filename) as f_obj:
    username=json.load(f_obj)
    print("welcom back," + username + "!")

下面将上面两个程序合并到一个程序中,这个程序运行时,将尝试从文件username.json中获取用户名,因此我们首先编写一个尝试恢复用户名的try代码块,如果这个文件不存在,我们就在except代码块中提示输入用户名,并将其存储在username.json中,以便程序再次运行时可以获取它。

下面是代码:remember_me.py

# -*- encoding: utf-8 -*-
import json
#如果以前存储了用户名,就加载它
#否则就提示用户名并存储它
filename="username.json"
try:
    with open (filename) as f_obj:
        username=json.load(f_obj)
except:
    username=input("what your name?")
    with open(filename,'w') as f_obj:
        json.dump(username,f_obj)
        print("we'll remember your name when you come back," + username + "!")
else:
    print("welcom back," + username + "!")

上面是两个比较简单基础的代码,可以认识到 json的作用和基础用法。

重构刚刚的代码块,用几个函数执行单一而清晰的任务

# -*- encoding: utf-8 -*-
import json
def get_username():
   """如果存储了用户名,就获取它"""
   filename = "username.json"
   try:
       with open(filename) as f_obj:
           username = json.load(f_obj)
   except:
       return None
   else:
       return username

def get_new_username():
   """提示用户输入用户名"""
   username = input("what you name?")
   filename = "username.json"
   with open(filename, 'w') as f_obj:
       json.dump(username, f_obj)
   return username

def greet_user():
   """问候用户,并指出其名字"""
   username=get_username()
   if username:
       print("welcom back," + username + "!")
   else:
       username=get_new_username()
       print("we'll remember your name when you come back," + username + "!")

greet_user()

相关文章

  • Python百宝箱

    1.对Json数据的读取、存入 json数据存储为Python字典格式,python模块中有json.pickle...

  • Python: JSON格式存储数据

    json格式在数据的传输之间起了一个很大的作用,而且也是一个通用的数据格式,觉得很有用,下面是在书上的摘抄,很基础...

  • python json模块与flask jsonify拓展包使用

    1.JSON数据格式 2.python处理JSON JSON数据格式转换成python的简单数据类型 python...

  • 零基础带你搞定分布式爬虫(第二节)

    数据存储 json ------命名不要json.py,坑----- JSON支持数据格式: 对象(字典)。使用花...

  • JSON

    JSON数据格式 JSON的概念 JSON全称JavaScript Object Notation,通过键值对存储...

  • Android Studio 插件 GsonFormat :你

    前言 Json 数据存储格式在Android 开发中使用非常常见 在为 Json 格式 生成 JavaBean实体...

  • python应该如何遍历字典

    字典,dict 字典(dict)结构在python web开发中十分常见,常用于存储json格式的数据。当然pyt...

  • python读取json格式

    对于处理json格式,如果是要把python数据格式转换成json,使用json.dumps(),如: 吧json...

  • JavaScript JSON

    JavaScript JSON JSON 是用于存储和传输数据的格式。JSON 通常用于服务端向网页传递数据 。 ...

  • JSON(8/31)

    JavaScript JSON JSON 是用于存储和传输数据的格式。 JSON 通常用于服务端向网页传递数据 。...

网友评论

    本文标题:Python: JSON格式存储数据

    本文链接:https://www.haomeiwen.com/subject/bugdihtx.html