import pickle
obj = {"书名":'Python从入门到精通' , "价格": 39.0, "作者": 'abc'}
obj2 = (1,2,3,4)
f = open('obj.pkl', 'wb')
pickle.dump(obj, f)
pickle.dump(obj2, f)
pickle.dump("hello world", f)
f.close()
f = open('obj.pkl', 'rb')
x1 = pickle.load(f)
x2 = pickle.load(f)
x3 = pickle.load(f)
f.close()
print(x1)
print(x2)
print(x3)
输出:
{"书名":'Python从入门到精通' , "价格": 39.0, "作者": 'abc'}
(1, 2, 3, 4)
hello world
也可以序列化对象到一个字节串对象中,这个序列化的字节串对象随后可以写到文件、网络、管道等。例如:
import pickle
obj = {"书名":'Python从入门到精通' , "价格": 39.0, "作者": 'abc'}
print(obj)
byte_object = pickle.dumps(obj)
print('pickling: \n{!r}'.format(byte_object))
输出:
{"书名":'Python从入门到精通' , "价格": 39.0, "作者": 'abc'}
b'\x80\x04\x95J\x00\x00\x00\x00\x00\x00\x00}\x94(\x8c\x06\xe4\xb9\xa6\xe5\x90\x8d\x94\x8c\x18Python\xe4\xbb\x8e\xe5\x85\xa5\xe9\x97\xa8\xe5\x88\xb0\xe7\xb2\xbe\xe9\x80\x9a\x94\x8c\x06\xe4\xbb\xb7\xe6\xa0\xbc\x94G@C\x80\x00\x00\x00\x00\x00\x8c\x06\xe4\xbd\x9c\xe8\x80\x85\x94\x8c\x03abc\x94u.'
|