3

我有一个包含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

是否有解决方法或其他方法来存储它?

4

1 回答 1

7

您可以使用pickle模块,它也可以序列化对象:

import pickle
...
pickle_encoded = pickle.dumps(array)
...

Pickle 将写入一个字节流,与 JSON 相比,它不是人类可读的。

于 2013-10-18T14:02:35.667 回答