gpt4 book ai didi

python - 从http响应加载numpy数组而不保存文件

转载 作者:行者123 更新时间:2023-12-03 18:35:15 24 4
gpt4 key购买 nike

我在某个 url 有一堆包含 numpy 数组的文件(例如, https://my_url/my_np_file.npy ),我正在尝试将它们加载到我的计算机中。

如果我手动下载文件,我可以使用 np.load('file_path') 正确加载 numpy 数组.如果我使用 url 响应(使用下面的代码),将内容保存到文件中,然后使用 np.load() ,它也有效。

response, content = http.request('https://my_url/my_np_file.npy')

如果我尝试从内容字符串加载数组,则会收到以下错误。这很可能是因为 np.load将字符串输入解释为文件的名称,而不是数据本身。

File "/usr/lib/python2.7/dist-packages/numpy/lib/npyio.py", line 370, in load fid = open(file, "rb") TypeError: file() argument 1 must be encoded string without null bytes, not str



有没有办法加载数组而不必保存文件?

最佳答案

您失踪了 io.BytesIO使字符串看起来像文件对象 np.load !

以下是您要查找的内容:

import requests
import io

response = requests.get('https://my_url/my_np_file.npy')
response.raise_for_status()
data = np.load(io.BytesIO(response.content)) # Works!

关于python - 从http响应加载numpy数组而不保存文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52884563/

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