ope足彩_ope体育投注_ope体育在线投注
ope足彩

交管12123,Python序列化与反序列化,金华火腿

admin admin ⋅ 2019-04-03 07:29:51

1.什么是序列化与反序列化?

  • 序列化:将内存中的数据转换为字节序列保存到文件;
  • 反序列化:将字节序列的文件中的内容康复到内存中;

2.pickle模块

(1)怎么序列化写入文件:少女暑假就医回忆录

impor交管12123,Python序列化与反序列化,金华火腿t交管12123,Python序列化与反序列化,金华火腿 pickle

list = [1, 2, 3, 4, 5]

dicty = {'name': '可可', 'age': 20}

with open(file='兽妃逐个天才召唤师test.txt', mode='wb') as f:

pickle.dump(list, f)

pickle.dump(dicty, f)

with ope交管12123,Python序列化与反序列化,金华火腿n(file='test.txt', mode='rb') as f:

for line in f:

print(line)

  • 导入pickle模块;
  • 初始化数据结构;
  • 经过with open上下文管理器的办法翻开文件(文交管12123,Python序列化与反序列化,金华火腿件操作形式为只写二进制形式);
  • 然后运用pickle模块中的dum交管12123,Python序列化与反序列化,金华火腿p办法对数据结构序列化,而且将之写入文件;

(2)读取文件序列化内容

  • 经过with open上下文管理器的办法翻开文件(文件操作形式为只读二进制形式交管12123,Python序列化与反序列化,金华火腿);
  • 运用pickle模块的load办法将文件内序列化好的目标加载到内存中,将之复原;

(3)序列化Python对危组词象

import pickle

def add(x, y):

print(x + y)

class Add:

def __init__(self):

print('hello')

serialise_obj1 = pickle.dumps(add)

serialise_obj2 = pickle.dumps(Add)

print(serialise_obj1)

print(serialise_obj2)

new_add = pickle.loads(serialise_obj1)

new_Add = pickle.loads(serialise_obj2)

print(new_add)

print(new_Add)

print(new_add(1,2))

print(new_Add())

  • dumps办法:直接序列化Python目标,范方启目标序列化后以 bytes 日本无翼鸟少女漫画目标回来,不写入文件;
  • loads办法:直接把序列化好目标进行复原,并回来其重组后的目标;

(4)序列化函数复原

import pickle
def add(x, y):
print(x + y)

with open('test.txt', 'wb') as f:
pickle.dump(add, f)我的初夜
import pickle
with open('test.txt', 'rb') as f:
new_function = pickle.load(f)
  • 将序列化的函数写入文件,到别的一个模块中运转, 有必要先在当时这模块声明这个函数;
  • 由于序列化复原只会复原函数名,函数目标的句子块不会序列化;

3.Json模块

# json 跨言语的序列化办法,用于存储和展现数据
{
"name": "我国",
"province": [{
"name": "黑龙江",
"cities": {
"city": ["哈尔滨", "大庆"]
}
}, {
"name": "广东",
"cities": {
"city": ["广州", "深圳", "珠海"]
}
}, {
"name": "台湾",
"cities": {
"city": ["台北", "高雄"]陈晟俊
}
}, {
"name": "新疆",
"cities": {
"city": ["乌鲁木齐"]
}
}]
}
# python 与 json目标的转化
import json
dictionary = {
'na鬼马郎中me': 'Robby',
'age': 27
}
json_obj = json.dumps(dictionary)
print(json_obj)
new_dict = json.loads(json_obj)
print(new_d杨璐个人资料ict)
# json.d旗黄养源膏ump()和json.load() 是将json目标保存到文件
  • JSON是一种轻量级的数据交换格局;
  • 运用 JS林铄泓ON 函数需求亡命刺客导入 json 模块;
  • json.dumps:用于将 Python 目标编码成 郭博雄JSON 字符串;
  • json.loads:用于将已编码的 JSON 字符串解码为 Python 目标,该函数回来 Python 字段的数据类型;

4.msgpa徐若瑄儿子ck模块

# 需求先装置
#温泽熙 pip install msgpack-python
# 示例
import msgpack
dictionary = {
'name': 延安路高架之龙柱'Robb香巴拉的进口已找到y',
'age': 27
}
msgpack_obj = msgpack.packb(dictionary)
print(msgpack_obj)
new_dictiona交管12123,Python序列化与反序列化,金华火腿ry = msgpack.unpackb(msgpack_obj, )
print(new_dictionary)
print(type(new_dictionary))
  • 是我老婆未成年一个根据二进我的逼制高效的目标化序列类库,可用于跨言语通讯;
  • 首要需求在项目中装置msgpack模块:Pip install msgpack-python,然后再导入运用;
  • packb:将目标序列化成一个二进制目标;
  • unpackb:将目标复原;

参阅:侠课岛(9xkd.com)Python同学方案

相关新闻

admin

admin

TA太懒了...暂时没有任何简介

精彩新闻