[Python学习]Python中使用json模块储存数据

#-*- coding:utf-8 -*-

#Python中使用json储存数据

import json

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

filename = 'filedata/numbers.json'

#把列表数组储存到json文件中

with open(filename, 'w') as f_obj:

    json.dump(numbers, f_obj)

with open(filename, 'r') as f_obj:

    contents = f_obj.read()

    print(contents)

#从json文件中读取数据到内存中

with open(filename, 'r') as f_obj:

    numbers = json.load(f_obj)

print(numbers)

#记录读取用户输入数据

username = input("What is your name? ")

filename = 'filedata/username.json'

with open(filename, 'w') as f_obj:

    json.dump(username, f_obj)

    print("We'll remember you when you come back, " + username + "!")

with open(filename, 'r') as f_obj:

    username = json.load(f_obj)

    print("1. Welcome back, " + username + "!")

#写入try-except异常处理模块

try:

    with open(filename, 'r') as f_obj:

        username = json.load(f_obj)

except FileNotFoundError:

    username = input("What is your name? ")

    with open(filename, 'r') as f_obj:

        json.dump(username, f_obj)

        print("We'll remember you when you come back, " + username + "!")

else:

    print("2. Welcome back, " + username + "!")

#封装函数,重构代码

def greet_user():

    filename = 'filedata/username.json'

    try:

        with open(filename, 'r') 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("3. Welcome back, " + username + "!")

#调用函数

greet_user()

def get_stored_username():

    filename = 'filedata/username.json'

    try:

        with open(filename, 'r') as f_obj:

            username = json.load(f_obj)

    except FileNotFoundError:

        return None

    else:

        return username

def greet_user_a():

    username = get_stored_username()

    if username:

        print("4. Welcome back, " + username + "!")

    else:

        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 + "!")

greet_user_a()

你可能感兴趣的:([Python学习]Python中使用json模块储存数据)