模块json让你能够将简单的Python数据结构转储到文件中, 并在程序再次运行时加载该文件中的数据。

你还可以使用json在Python程序之间分享数据。更重要的是,JSON数据格式并非Python专用的,这让你能够将以JSON格式存储的数据与使用其他编程语言的人分享。这是一种轻便格式,很有用,也易于学习。

1、json.dump()和json.load()

函数json.dump() 用来将Python数据结构存储到文件中。

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

下边例子是使用json.dump()函数将一组数字列表存储到文件中:

#!/usr/bin/env python
# -*- coding:utf-8 -*-import jsonnumbers = [2, 3, 5, 7, 11, 13]filename = 'numbers.json'with open(filename, 'w') as f_obj:json.dump(numbers, f_obj)

运行结果:形成一个numbers名字的JSON文件,文件内容就是数字列表内的内容。


函数json.load()将列表读取到内存中。下边例子是使用json.load()将存储到文件的类表读取到内存中:

#!/usr/bin/env python
# -*- coding:utf-8 -*-import jsonfilename = 'numbers.json'with open(filename) as f_obj:numbers = json.load(f_obj)print(numbers)

运行结果:


下边例子结合两个函数存储用户数据。首次运行时,提示输入名字并记住用户名,再次运行时,可加载数据。

#!/usr/bin/env python
# -*- coding:utf-8 -*-import json
# 如果以前存储了用户名, 就加载它
# 否则, 就提示用户输入用户名并存储它
filename = 'username.json'
try:with open(filename) as f_obj:username = json.load(f_obj)except FileNotFoundError:username = input("What is your name? ")with open(filename, 'w') as f_obj:json.dump(username, f_obj)print("We'll remember you when you come back, " + username + "!")else:print("Welcome back, " + username + "!")

程序首次运行结果:

不是首次运行,输出结果:

这里使用了try-except-elseji结构,如有不懂,请参考《Python编程从入门到实践》记录之文件异常(try-except-else代码块)

《Python编程从入门到实践》记录之json模块(数据存储)相关推荐

  1. 《Python编程从入门到实践》记录之Python函数返回值

    目录 1.返回简单值 2.返回字典 3.结合使用函数和while循环 更多关于Python函数的知识见如下博文: <Python编程从入门到实践>记录之Python函数定义.使用 < ...

  2. 《Python编程从入门到实践》记录之第7章 用户输入(input)和while 循环总结(思维导图)

    有关input函数可参考博文<Python编程从入门到实践>记录之input()函数的详细介绍. 有关while循环可参考博文<Python编程从入门到实践>记录之while循 ...

  3. 《Python编程从入门到实践》记录之while循环简介(break、continue)

    目录 1.使用while循环让用户选择何时退出 2.使用break退出循环 3.使用continue返回循环开头 4.while循环处理列表和字典--在列表之间移动元素 5.while循环处理列表和字 ...

  4. 《Python编程从入门到实践》记录之求模运算符

    处理数值信息时, 求模运算符(%)是一个很有用的工具,它将两个数相除并返回余数. 如果一个数可被另一个数整除,余数就为0,因此求模运算符将返回0. 可利用这一点来判断一个数是奇数还是偶数: #!/us ...

  5. Python编程从入门到实践 第十章:文件和异常 练习答案记录

    Python编程从入门到实践 第十章:文件和异常 练习答案记录 练习题导航 Python编程从入门到实践 第十章:文件和异常 练习答案记录 10.1 从文件中读取数据 10.1.1 读取整个文件 10 ...

  6. Python语法学习测试记录(Python编程从入门到实践——Eric Matthes著)

    注:工作之余,学习一门脚本语言,选择了当下火热的Python.2020-05-27日开始学习Python基础语法,期间参考<Python编程从入门到实践--Eric Matthes著>一书 ...

  7. 《Python编程从入门到实践》记录之第2章 变量和简单数据类型总结(思维导图)

    <Python编程从入门到实践>第2章变量和简单数据类型知识总结:

  8. python基础学习[python编程从入门到实践读书笔记(连载五)]:数据可视化项目第16章

    文章目录 下载数据 制作全球地震散点图:JSON格式 end 几个实验结果: 每日最高气温: 地震图绘制: 下载数据 CSV文件格式 在文本文件中存储数据,一个简单方式是将数据作为一系列以逗号分隔的值 ...

  9. python基础学习[python编程从入门到实践读书笔记(连载一)]

    写在前面:本文来自笔者关于<python编程从入门到实践>的读书笔记与动手实践记录. 程序员之禅 文章目录 02变量和简单数据类型 03 列表简介 04 操作列表 05 if语句 06 字 ...

最新文章

  1. python函数图像平移_[Python图像处理]六.图像缩放,图像旋转,图像翻转与图像平移...
  2. 前端学习(1312):响应报文
  3. java简单词法分析器(源码下载)
  4. java校验邮箱_Java正则表达式校验邮箱和手机号 | 学步园
  5. 我喜欢的歌-FOREVER
  6. EC600S-CN CAT1通信模组,2G退网升级4G如何选择,QuecPython开发资源下载
  7. 附上堆和栈的区别 (转贴)
  8. word转换为pdf后图片失真的解决办法
  9. 基于单片机的出租车计价计费系统设计(#0508)
  10. Foxit PDF SDK for Linux (C++ Library) 8.4.1 Crack
  11. 学科网软件测试,对比学科网和菁优网:选择二一组卷平台的N个理由
  12. liujian的效果图
  13. 个人网站、公众号申请微信个人支付接口
  14. python微博情感分析,Python情感分析:鹿晗的粉丝们究竟原谅他了吗?
  15. 成本管理-输入、输出、工具和技术
  16. SWF代码分析与破解之路 (YueTai VIP视频信息获取工具) Socket续篇
  17. Python数据分析师薪资大赏(内附学习资料)
  18. 信号间隔是什么意思_地铁信号里的行车闭塞是啥意思?
  19. 如何成为一名合格的数据架构师?
  20. 我的新书:《Jetpack Compose:Android全新UI编程》已出版

热门文章

  1. php中的递归算法,PHP递归算法(四)
  2. php 中文截断,PHP中实现中文字串截取无乱码的解决方法
  3. 字符串includes_字符串操作大全:面试准备和日常编码所需一文打尽
  4. python对印刷的用途_用Python式的方法来印刷价值
  5. 华北科技学院计算机科学与技术分数线,2019年华北科技学院优势专业排名及分数线...
  6. php项目怎么分配,php项目目录的合理划分和Pipeline 组件的使用场景
  7. 山东鲁能轨道智能巡检机器人_城市轨道智能巡检机器人原来你这么酷炫!
  8. 数据挖掘肿瘤预测_喜欢临床预测模型|SEER数据挖掘的期刊有哪些
  9. hadoop历史版本,包括大名鼎鼎的hadoop 0.20.2
  10. 【RabbitMQ】5、RabbitMQ任务分发机制