Python之JOSN

来源:互联网 发布:java concat函数用法 编辑:程序博客网 时间:2024/04/29 19:35

简述

模块json让你能够将简单的Python数据结构转出到文件中,并在程序再次运行时加载该文件中的数据。你还可以使用json在Python程序之间分享数据。更重要的是,JSON数据格式并非Python专用,这让你能够将以JSON格式存储的数据与使用其他编程语言的人分享。

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

我们来编写一个存储一组数字的简单程序,再编写一个将这些数字读取到内存中的程序。

number_writer.py

import json numbers = [2,3,5,7,9,11,13]filename = 'number.json'with open(filename,'w') as f_obj:json.dump(numbers,f_obj)  

执行结果:

这里写图片描述

注意:数据存储格式与Python中一样。

下面编写一个程序,使用json.load()将这个列表读取到内存中:

numbers_reader.py

import json filename = 'number.json'with open(filename) as f_obj:    numbers = json.load(f_obj)    print(numbers)

输出结果:

这里写图片描述

案例

下面我们编写一个宾馆问候系统,实现欢迎老用户回来以及问候新用户

import json

def get_stored_username():  #如果存储了用户名,就获取它    filename = 'user.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's your name:")    filename = 'user.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 back "+username)     else:        username = get_new_username()        print("we will remember you when you back, "+username+'!')greet_user()

输出结果:

这里写图片描述

再次执行:

这里写图片描述

0 0
原创粉丝点击