pickle 模块可以保存任意类型的python数据,包括类变量,数组,字符等等。
用法也很简单。
一个简单的代码如下:
import pickle
class Test(object):
test1 = 'test'
instance = Test()
instance.test1 = 'This is a test'
with open('test.pkl', 'wb') as f:
data = pickle.dumps(instance)
f.write(data)
with open('./test.pkl', 'rb') as f:
data = f.read()
instance_read = pickle.loads(data)
print(instance_read.test1)
输出:
This is a test
但是pickle模块本身并不安全,只有当数据来源来源可靠时才可以使用,避免使用处理来源不可靠,或者被篡改的数据。一般情况下建议使用json模块,但是json模块只支持python经典的数据结构,像类变量这种无法使用json保存。
json的使用也非常简单。例子如下:
import json
test = {'test1': 1, 'test2': 2}
with open('test.json', 'w') as f:
data = json.dumps(test)
f.write(data)
with open('test.json', 'r') as f:
data = f.read()
test_read = json.loads(data)
print(test_read)
输出:
{'test1': 1, 'test2': 2}
禁止转载