2018年7月23日数据存储到文件中的代码介绍:

               































程序中的字典都有有独立的数据类型,不能直接按照二进制的方式进行操作
    data_serializer/ds01.py
    TypeError
解决方案:有两种
    1. 通过python提供的标准库,将程序中的数据转换成字符串~进行操作
    2. 通过python提供的标准库,将程序中的数据转换成字节(二进制文件)进行操作


(5)操作程序中的字符串数据[特殊:JSON],json一般做数据类型转换
json模块[python提供的标准库]

(6)操作程序中的对象数据[序列化:反序列化]  pickle一般用作数据在文件中的交互
pickle模块[python提供的标准库]




        json模块:python提供的标准库
*******************************************
#coding:utf-8
#系统标准库json,可以对程序中的数据进行转换

users = {
    "admin":{
        "username": "admin",
        "password": "123",
        "nickname": "老王"
    }
}


#通过json进行转换
import json

#1.数据类型的转换
#将一个字典数据转换为字符串数据[json字符串]
json_str = json.dumps(users)
print(json_str, type(json_str))

#将一个json字符串数据,转换成json对象[其他语言](字典dict)
json_obj = json.loads(json_str)
print(json_obj,type(json_obj))

#2.类型转换的同时操作文件
#json的方式,将程序中的【变量,列表,集合,字典】写入到文件中:
json.dump(users, open("d2.txt","w"))


#json的方式,将文件中的数据读取到程序中
data = json.load(open("d2.txt"))

******************************************************************

                                  pickle模块,python提供的标准库,序列化的方法

# coding:utf-8

# json方式可以进行程序中数据存储到文件

# 但是json转换的结果是字符串数据~文本数据,对于数据的安全性太低

# json标准库的操作:经常用于 数据类型的转换

# 程序中的数据和文件之间的交互~一般通过二进制操作

# Python标准库提供了很多种二进制操作的方式

# pickle、struct(c/c++)...

users = {

"admin": {

"username": "admin",

"password": "123",

"nickname": "老王"

}

}

import pickle

# 二进制操作方式,将数据存储到文件中

#pickle.dump(users, open("d3.txt", "wb"))

# 二进制操作方式,读取数据文件

data = pickle.load(open("d3.txt", "rb"))

print(type(data), data)

猜你喜欢

转载自blog.csdn.net/qq_40994972/article/details/81176488