gpt4 book ai didi

python - Numpy savez 将我的键解释为文件名 -> IOError

转载 作者:行者123 更新时间:2023-11-28 16:49:31 25 4
gpt4 key购买 nike

我正在使用 numpy savez作为recommended保存 numpy 数组。作为键,我使用我从中加载数据的文件的名称。但似乎 savez 正试图以某种方式使用文件名。我应该怎么办?我想避免剥离其路径和结尾的文件名。

>>> import numpy
>>> arrs = {'data/a.text': numpy.array([1,2]),
'data/b.text': numpy.array([3,4]),
'data/c.text': numpy.array([5,6])}
>>> numpy.savez('file.npz', **arrs)
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "/usr/lib/python2.6/dist-packages/numpy/lib/io.py", line 305, in savez
fid = open(filename,'wb')
IOError: [Errno 2] No such file or directory: '/tmp/data/c.text.npy'

最佳答案

您可以在将 key 传递给 savez 函数之前对其进行编码和解码。

>>> import numpy
>>> import base64
>>> arrs = {'data/a.text': numpy.array([1,2]),
'data/b.text': numpy.array([3,4]),
'data/c.text': numpy.array([5,6])}
>>> numpy.savez('file.npz', **dict((base64.urlsafe_b64encode(k), v)
for k,v in arrs.iteritems()))
>>> npzfile = numpy.load('file.npz')
>>> decoded = dict((base64.urlsafe_b64decode(k), v)
for k,v in npzfile.iteritems())
>>> decoded
{'data/c.text': array([5, 6]),
'data/a.text': array([1, 2]),
'data/b.text': array([3, 4])}

关于python - Numpy savez 将我的键解释为文件名 -> IOError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9258069/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com