Python存储数据

存储数据

使用json.dump()和json.load()

json.dump()存储数据
import json

numbers = [2,3,5,7,11,13]

filename = 'number.json'  #使用文件扩展名.json来指出文件存储的数据为JSON格式

with open(filename,'w') as f_obj:
    json.dump(numbers,f_obj)  #使用json.dump()函数将数字列表存储到文件当中
json.load()读入数据
import json

filename = 'number.json'

with open(filename) as f_obj:
    numbers = json.load(f_obj)  #使用json.load()函数加载number.json中的信息

print(numbers)  #输出文件的内容

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

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)  #json.dump()函数接受两个参数:要存储的数据以及可用于存储数据的文件对象
        print("We'll remember you when you come back, "+username+"!")
else:
    print("Welcome back, "+username+"!")
#代码首次运行将进入except代码段,除非已经存在文件了
#第二次运行代码将直接使用else中的代码段

重构

重构:将代码划分为一系列完成具体工作的函数

重构:让代码更清晰,更易于理解,更容易扩展

import json

def get_stored_username():
    """Get stored username if available."""
    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():
    """Prompt for a 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():
    """Greet the user by name."""
    username = get_stored_username()
    if username:
        print("Welcome back, " + username + "!")
    else:
        username = get_new_username()
        print("We'll remember you when you come back, " + username + "!")

greet_user()

  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

伦敦看日出

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值