Мне предоставляется файл .npz (data.npz), который содержит 3 файла .npy. Я точно знаю, что в одном из трех файлов есть ключ "t". Я не знаю явно ключи двух других файлов. (Я знаю, что могу вызвать list () в этом файле, чтобы увидеть ключи, но я не хочу делать это вручную, это должно быть автоматизировано).
Я хочу извлечь все три файла и назначить их переменным. ключ 't' должен быть назначен на t, в то время как два других «неизвестных» ключа должны быть назначены на переменные a, b (независимо от их фактических ключей). В идеале решение t должно работать независимо от того, сколько существует дополнительных ключей, кроме t, и должно назначать их переменным буквенно-цифровым образом, а не по имени ключа (за исключением t).
До сих пор я пробовал два решения:
первое преобразовывает файл .npz в словарь
data = dict(np.load('data.npz'))
t = data.pop('t')
a = data.pop((list(data)[0]))
b = data.pop((list(data)[0]))
, но проблема с этим решением в том, что я не может перебирать любое количество файлов, и каждая переменная должна быть явно определена
вторая использует a для l oop:
data = np.load('data.npz')
for var in data:
globals()[var] = data[var]
это намного более плавно, за исключением того, что я не могу понять, как последовательно заменить имя ключа (исключая t) на «a, b, c» et c.
Простите, если это сбивает с толку ... Я очень запутался!