我的python学习笔记、存储数据

来源:互联网 发布:机械结构优化设计 编辑:程序博客网 时间:2024/06/05 10:10

1、模块json让你能够将简单的python数据结构转储到文件中,并在程序再次运行时加载该文件中的数据。你还可以使用json在python程序之间分享数据。JSON数据格式并非python专用的,这让你能够将以JSON格式存储的数据与使用其他编程语言的人分享。
注:JSON(javascript object notation)格式最初是为javascript开发的,但随后成为了一种常见格式,被包括python在内的众多语言采用。

2、使用json.dump()和json.load()
使用json.dump()来存储数字,此函数接受两个实参:要存储的数据以及可用于存储数据的文件对象。

import json
number=[2,3,4,5,6,7]
filename='numbers.json'
with open(filename,'w') as f_obj:
     json.dump(number,f_obj)
//使用函数json.dump()将数值列表存储到文件numbers.json中
使用函数json.load()加载存储在numbers.json中的信息,并将其存储在变量numbers中。

import json
filename="numbers.json"
with open(filename) as file_object:
     numbers=json.load(file_object)
print(numbers)

输出为:

D:\www>python number_read.py
[2, 3, 4, 5, 6, 7]

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

import json
filename='username.json'
try:
    with open(filename) as file_object:
         username=json.load(file_object)
except FileNotFoundError:
    username=input("what is your name?")
    with open(filename,'w') as file:
         json.dump(username,file)
         print("We'll remember you when you come back, "+username+" !")
else:
     print("Welcome back, "+username+" !")
输出为:

D:\www>python remember.py
what is your name?jin
We'll remember you when you come back, jin !

D:\www>python remember.py
Welcome back, jin !

4、重构——代码能够成功执行,但进一步改进,将代码划分为一系列完成具体工作的函数

import json

def get_stored_username():
    filename='username.json'
    try:
        with open(filename) as file_object:
             username=json.load(file_object)
    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 file_object:
         json.dump(username,file_object)
    return username

def greet_user():
    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() 


原创粉丝点击