《Python编程从入门到实践》记录之json模块(数据存储)
模块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模块(数据存储)相关推荐
- 《Python编程从入门到实践》记录之Python函数返回值
目录 1.返回简单值 2.返回字典 3.结合使用函数和while循环 更多关于Python函数的知识见如下博文: <Python编程从入门到实践>记录之Python函数定义.使用 < ...
- 《Python编程从入门到实践》记录之第7章 用户输入(input)和while 循环总结(思维导图)
有关input函数可参考博文<Python编程从入门到实践>记录之input()函数的详细介绍. 有关while循环可参考博文<Python编程从入门到实践>记录之while循 ...
- 《Python编程从入门到实践》记录之while循环简介(break、continue)
目录 1.使用while循环让用户选择何时退出 2.使用break退出循环 3.使用continue返回循环开头 4.while循环处理列表和字典--在列表之间移动元素 5.while循环处理列表和字 ...
- 《Python编程从入门到实践》记录之求模运算符
处理数值信息时, 求模运算符(%)是一个很有用的工具,它将两个数相除并返回余数. 如果一个数可被另一个数整除,余数就为0,因此求模运算符将返回0. 可利用这一点来判断一个数是奇数还是偶数: #!/us ...
- Python编程从入门到实践 第十章:文件和异常 练习答案记录
Python编程从入门到实践 第十章:文件和异常 练习答案记录 练习题导航 Python编程从入门到实践 第十章:文件和异常 练习答案记录 10.1 从文件中读取数据 10.1.1 读取整个文件 10 ...
- Python语法学习测试记录(Python编程从入门到实践——Eric Matthes著)
注:工作之余,学习一门脚本语言,选择了当下火热的Python.2020-05-27日开始学习Python基础语法,期间参考<Python编程从入门到实践--Eric Matthes著>一书 ...
- 《Python编程从入门到实践》记录之第2章 变量和简单数据类型总结(思维导图)
<Python编程从入门到实践>第2章变量和简单数据类型知识总结:
- python基础学习[python编程从入门到实践读书笔记(连载五)]:数据可视化项目第16章
文章目录 下载数据 制作全球地震散点图:JSON格式 end 几个实验结果: 每日最高气温: 地震图绘制: 下载数据 CSV文件格式 在文本文件中存储数据,一个简单方式是将数据作为一系列以逗号分隔的值 ...
- python基础学习[python编程从入门到实践读书笔记(连载一)]
写在前面:本文来自笔者关于<python编程从入门到实践>的读书笔记与动手实践记录. 程序员之禅 文章目录 02变量和简单数据类型 03 列表简介 04 操作列表 05 if语句 06 字 ...
最新文章
- python函数图像平移_[Python图像处理]六.图像缩放,图像旋转,图像翻转与图像平移...
- 前端学习(1312):响应报文
- java简单词法分析器(源码下载)
- java校验邮箱_Java正则表达式校验邮箱和手机号 | 学步园
- 我喜欢的歌-FOREVER
- EC600S-CN CAT1通信模组,2G退网升级4G如何选择,QuecPython开发资源下载
- 附上堆和栈的区别 (转贴)
- word转换为pdf后图片失真的解决办法
- 基于单片机的出租车计价计费系统设计(#0508)
- Foxit PDF SDK for Linux (C++ Library) 8.4.1 Crack
- 学科网软件测试,对比学科网和菁优网:选择二一组卷平台的N个理由
- liujian的效果图
- 个人网站、公众号申请微信个人支付接口
- python微博情感分析,Python情感分析:鹿晗的粉丝们究竟原谅他了吗?
- 成本管理-输入、输出、工具和技术
- SWF代码分析与破解之路 (YueTai VIP视频信息获取工具) Socket续篇
- Python数据分析师薪资大赏(内附学习资料)
- 信号间隔是什么意思_地铁信号里的行车闭塞是啥意思?
- 如何成为一名合格的数据架构师?
- 我的新书:《Jetpack Compose:Android全新UI编程》已出版
热门文章
- php中的递归算法,PHP递归算法(四)
- php 中文截断,PHP中实现中文字串截取无乱码的解决方法
- 字符串includes_字符串操作大全:面试准备和日常编码所需一文打尽
- python对印刷的用途_用Python式的方法来印刷价值
- 华北科技学院计算机科学与技术分数线,2019年华北科技学院优势专业排名及分数线...
- php项目怎么分配,php项目目录的合理划分和Pipeline 组件的使用场景
- 山东鲁能轨道智能巡检机器人_城市轨道智能巡检机器人原来你这么酷炫!
- 数据挖掘肿瘤预测_喜欢临床预测模型|SEER数据挖掘的期刊有哪些
- hadoop历史版本,包括大名鼎鼎的hadoop 0.20.2
- 【RabbitMQ】5、RabbitMQ任务分发机制