使用 numpy 加载文件时获取“int”数据

问题描述 投票:0回答:1

我有一个文件,没有扩展名,但我认为它是一个 npy 文件。当我使用

np.load
时,我会得到
int
。怎么打开呢?

我尝试更改 numpy 版本,但没有帮助。

>>> import numpy as np
>>> a = np.load('/opt/data/private/msl/data_thumos/Rgb_TestPJ2_All/video_test_0000006', allow_pickle=True)
>>> a
119547037146038801333356

我确定这是一个 npy 文件,但我不知道如何获取数据。

我尝试了

fromfile
,我得到了形状为(10211,)的数组,它失去了原始形状:

with open(file_path, 'rb') as f:
    data = np.fromfile(f, dtype=np.float32)

如果我使用

with open(file_path, 'rb') as f:
    print(f.read(200))

输出为

b'\x80\x02\x8a\nl\xfc\x9cF\xf9 j\xa8P\x19.\x80\x02M\xe9\x03.\x80\x02}q\x00(X\x10\x00\x00\x00protocol_versionq\x01M\xe9\x03X\r\x00\x00\x00little_endianq\x02\x88X\n\x00\x00\x00type_sizesq\x03}q\x04(X\x05\x00\x00\x00shortq\x05K\x02X\x03\x00\x00\x00intq\x06K\x04X\x04\x00\x00\x00longq\x07K\x04uu.\x80\x02ctorch._utils\n_rebuild_tensor_v2\nq\x00((X\x07\x00\x00\x00storageq\x01ctorch\nDou'

python numpy
1个回答
0
投票

输出是

b'\x80\x02\x8a\nl …

您所拥有的看起来不像 .npy 文件。它应该以类似

b"\x93NUMPY\x01\x00v\x00{'descr': '<i8', 'fortran_order': False, 'shape': (), }
的方式开头。

您更有可能有一个pickle 文件。尝试:

import pickle

with open('/opt/data/private/msl/data_thumos/Rgb_TestPJ2_All/video_test_0000006', 'rb') as f:
    a = pickle.load(f)
© www.soinside.com 2019 - 2024. All rights reserved.