Python学习笔记之json.dump和json.load
10-11 喜欢的数字:编写一个程序,提示用户输入他喜欢的数字,并使用json.dump()将这个数字存储到文件中。再编写一个程序,从文件中读取这个值,并打印消息“I know your favorite number! It’s _____.”。
favorite_number.py
import json def favorite_number():
"""提示用户输入喜欢的数字"""
filename = 'favorite_number.json'
number = input("请输入你喜欢的数字:")
with open(filename, 'w') as f_obj:
json.dump(number, f_obj) favorite_number()
import json def get_favorite_number():
"""获取文件内容"""
filename = 'favorite_number.json'
with open(filename) as f_obj:
get_number = json.load(f_obj) print("I know your favorite number! It’s " + str(get_number) + ".") get_favorite_number()
10-12 记住喜欢的数字:将练习10-11 中的两个程序合而为一。如果存储了用户喜欢的数字,就向用户显示它,否则提示用户输入他喜欢的数字并将其存储到文件中。运行这个程序两次,看看它是否像预期的那样工作。
import json def get_stored_number():
filename = 'favorite_number.json'
try:
with open(filename) as f_obj:
number = json.load(f_obj)
except FileNotFoundError:
return None
else:
return number def favorite_number():
"""提示用户输入喜欢的数字"""
filename = 'favorite_number.json'
number = input("请输入你喜欢的数字:")
with open(filename, 'w') as f_obj:
json.dump(number, f_obj)
return number def get_favorite_number():
"""获取文件内容"""
# filename = 'favorite_number.json'
# with open(filename) as f_obj:
# get_number = json.load(f_obj)
number = get_stored_number()
if number:
print("I know your favorite number! It’s " + str(number) + ".")
else:
number = favorite_number()
print("I know your favorite number! It’s " + str(number) + ".") get_favorite_number()
10-13 验证用户:最后一个remember_me.py 版本假设用户要么已输入其用户名,要么是首次运行该程序。我们应修改这个程序,以应对这样的情形:当前和最后一次运行该程序的用户并非同一个人。
为此,在greet_user()中打印欢迎用户回来的消息前,先询问他用户名是否是对的。如果不对,就调用get_new_username()让用户输入正确的用户名。
原remember_me.py代码
import json def get_stored_username():
"""如果存储了用户名,就获取它"""
filename = 'username.json'
try:
with open(filename) as f_obj:
username = json.load(f_obj)
except FileNotFoundError:
return None
else:
return username def get_new_username():
"""提示用户输入用户名"""
username = input("What is your name? ")
filename = 'username.json'
with open(filename, 'w') as f_obj:
json.dump(username, f_obj)
return username def greet_user():
"""问候用户,并指出其名字"""
username = get_stored_username()
if username:
print("Welcome come back, " + username + "!")
else:
username = get_new_username()
print("We will remember you when you come back, " + username + "!") greet_user()
修改之后remember_me.py代码
import json def get_stored_username():
"""如果存储了用户名,就获取它"""
filename = 'username.json'
try:
with open(filename) as f_obj:
username = json.load(f_obj)
except FileNotFoundError:
return None
else:
return username def get_new_username():
"""提示用户输入用户名"""
username = input("What is your name? ")
filename = 'username.json'
with open(filename, 'w') as f_obj:
json.dump(username, f_obj)
return username def greet_user():
"""问候用户,并指出其名字"""
username = get_stored_username()
if username:
msg = "Are you " + username + "? (y/n) "
correct = input(msg)
if correct == 'y':
print("Welcome come back, " + username + "!")
else:
username = get_new_username()
print("We will remember you when you come back, " + username + "!")
else:
username = get_new_username()
print("We will remember you when you come back, " + username + "!") greet_user()
Python学习笔记之json.dump和json.load的更多相关文章
- python学习笔记(十一)处理json
json串就是字符串,json串里必须是双引号 d={'car':{'color':'red','price':100,'count':50}, '爱分叉':{'color':'red','price ...
- python学习笔记十六:读取JSON文件
读取JSON文件可以用JSON库,示例代码: #coding:utf-8 import json with open("msg.json") as jsonfile: json_d ...
- 吴裕雄--天生自然python学习笔记:Python3 JSON 数据解析
JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. Python3 中可以使用 json 模块来对 JSON 数据进 ...
- python中json文件处理涉及的四个函数json.dumps()和json.loads()、json.dump()和json.load()的区分
一.概念理解 1.json.dumps()和json.loads()是json格式处理函数(可以这么理解,json是字符串) (1)json.dumps()函数是将一个Python数据类型列表进行js ...
- python中json.load()、json.loads()、json.dump()、json.dumps()的区别
json.load()从文件中读取json字符串 json.loads()将json字符串转换为字典类型 json.dumps()将python中的字典类型转换为字符串类型 json.dump()将j ...
- 【Python基础】json.dumps()和json.loads()、json.dump()和json.load()的区分
json文件处理涉及的四个函数json.dumps()和json.loads().json.dump()和json.load()的区分 一.概念理解 1.json.dumps()和json.loads ...
- 【Spring学习笔记-MVC-4】SpringMVC返回Json数据-方式2
<Spring学习笔记-MVC>系列文章,讲解返回json数据的文章共有3篇,分别为: [Spring学习笔记-MVC-3]SpringMVC返回Json数据-方式1:http://www ...
- 【Spring学习笔记-MVC-3】SpringMVC返回Json数据-方式1
<Spring学习笔记-MVC>系列文章,讲解返回json数据的文章共有3篇,分别为: [Spring学习笔记-MVC-3]SpringMVC返回Json数据-方式1:http://www ...
- python中json.dump() 和 json.dumps() 有那些区别?
JSON字符串用json.dumps, json.loads JSON文件名用json.dump, json.load 以下内容摘自:<Python Cookbook> json 模块提供 ...
- Python中json.dump() 和 json.dumps()的区别
JSON字符串用json.dumps, json.loads JSON文件名用json.dump, json.load 以下内容摘自:<Python Cookbook> json 模块提供 ...
随机推荐
- 感知哈希算法——Python实现【转】
转自:https://blog.csdn.net/m_buddy/article/details/78887248 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原 ...
- cocos2dx3.x + xcode7.3 问题“libpng error: CgBI: unhandled critical chunk”
今天用 cocos2dx3.11.1 + xcode7.3.1 进行开发,新建项目后遇到如下问题: 在iphone(ios9.3.5)真机运行项目(用xcode自带虚拟机没有出现问题) auto sp ...
- LoadRunner性能测试工具下载
LoadRunner性能测试工具 LoadRunner是前美科利(Mercury Interactive)公司著名的性能测试产品.Mercury公司曾经是全球业务优化科技领域的领导者.2006年由惠普 ...
- xSS-Reflected
反射性(非持久性XSS),藏在URL中 一般用户访问恶意链接执行 Low <?php header ("X-XSS-Protection: 0"); // Is there ...
- git fatal: remote origin already exists错误解决方案
$ git remote add origin git@github.com:AntonioSu/learngitWindows.git 在运行以上代码出现的错误,此错误是因为已经存在了远程分支,只需 ...
- Git的一些概念(二)
一.Git的结构 二.Git和代码托管中心 代码托管中心的任务:维护远程库 1. 局域网内 GitLab 服务器 -- 可以自己搭建 2. 外部环境 GitHub 码云 三.本地库和远程库 1. 团队 ...
- Linux下的SVN服务器搭建(八)
1. 通过yum命令安装svnserve yum -y install subversion #查看svn安装位置 rpm -ql subversion 2. 创建版本库目录(此仅为目录,为后面创建版 ...
- zz在自动驾驶研发中充分发挥数据的潜能
本次分享内容提纲 数据标注 数据驱动开发 数据驱动决策 前言 上图这是我加入小马智行之前的一个小故事.这不断的提醒我,人工智能需要有足够的数据量,并且充分发挥这些数据的潜能,是我们作为人工智能公司的一 ...
- centos7中运行ifconfig提示“-bash: ifconfig: command not found”解决方案
linux系统查看ip地址常用命令是[ifconfig], CentOS 7.0最小安装是没有ifconfig命令怎么办? 1.用[ip addr]查看; 2.就是安装ifconfig命令 1.输入[ ...
- JAVA还没死的原因
尽管 TIOBE 指数显示,Java 是一门正在衰落的语言,但它仍然稳居榜首.从 2016 年到 2017 年间,这个数字可能会大幅下降,但最近下降速度有所放缓:在 2018 年 10 月到 2019 ...