Python元组序列化

Le Mon 03 February 2025

序列化是指把Python的对象编码转化为JSON格式的字符串;反过来,反序列化是是把JSON格式的字符串解码为Python数据对象。

Python专门提供了JSON库来处理序列化和反序列化。

把内置数据结构如元组、字典、列表进行序列化处理后,类型为str(字符串)。

元组经过序列化和反序列化后数据类型为字典,不再是元组。

在JSON库中,序列化和反序列化的处理是分为两部分的,一部分是对具体列表数据的处理,另一部分是对文件内容的处理。

import json

some_tuple_data = [
    ("年年", "nnian", "苗疆少女"),
    ("年年", "nnian", "实习秘书"),
]
print(some_tuple_data)
print(type(some_tuple_data))

# 序列化
tuple_str = json.dumps(some_tuple_data)
print(tuple_str)
print(type(tuple_str))
# some_tuple_str from pre...
tuple_str = json.loads(some_tuple_str)
print(tuple_str)
print(type(tuple_str))

单纯的序列化和反序列化意义不大。我通常将序列化后的数据存储在文件中。将来再读取这些文件,反序列化后,对数据进一步处理。

import json

out_file = "some_out_file"
some_tuple_data = [
    ("年年", "nnian", "苗疆少女"),
    ("年年", "nnian", "实习秘书"),
]

json.dump(some_tuple_data, open(out_file,'w'))
in_file = "some_pre_out_file"
some_dict = json.load(open(in_file, 'r'))

JSON库有dumps和dump方法。dumps方法将对象序列化为字符串,dump方法则将对象序列化后存入文件。

文件对象用open方法来打开。

Par 纳兰风来, Catégorie : dev

Tags :