【发布时间】:2018-12-31 12:33:48
【问题描述】:
我需要编写一些数据类型:
一个。 numpy 数组的列表,例如[ndarray, ndarray, ndarray] 大小不一。
b.任何任意 numpy 数组,例如np.zeros((5,6)), np.randn((76,2)) 等等。
c。我还没有想到的任何其他未来数据类型。
要求:
我需要一个函数来保存所有这些数据类型,无需特定处理,并且未来与上述 c 类型兼容。
我还需要人类可读格式的输出文件转储。
到目前为止,我只能使用 YAML 或 pickle 来实现要求 1,这两者都使用二进制文件,即人类不可读。
@staticmethod
def _read_with_yaml(path):
with open(path, 'r') as stream:
return yaml.load(stream)
@staticmethod
def _write_with_yaml(path, obj):
with io.open(path, 'w+', encoding='utf8') as outfile:
yaml.dump(obj, outfile, default_flow_style=False, allow_unicode=True)
此示例代码输出非人类可读的文件,但适用于我拥有的数据类型。
有没有办法同时满足这两个要求?
【问题讨论】:
标签: python file serialization yaml pickle