我有一个包含operator
模块中元素的数组。我尝试用JSON存储它,但是得到了以下错误信息。
import operator as op
import json
array = [1,op.ge]
json_encoded = json.dumps(array)
f = open("test.json","w")
f.write(json_encoded)
f.close()
TypeError: <built-in function ge> is not JSON serializable
是否有解决方法或其他方式来存储它?
答案 0 :(得分:6)
您可以使用pickle模块,它也可以序列化对象:
import pickle
...
pickle_encoded = pickle.dumps(array)
...
Pickle将编写一个字节流,与JSON相比,它不会是人类可读的。