Я пытаюсь использовать savez
и load
методы numpy, чтобы (удивить) сохранить и загрузить массивы numpy, которые достаточно велики, чтобы метод, который я использовал ранее ( сохранение в формате JSON) заметно медленнее.
Я воспроизвел проблему, с которой столкнулся, в следующем фрагменте кода:
import numpy
test_path = "test.npy"
test_data = numpy.random.rand(100000)
with open(test_path, 'w') as test_file:
numpy.save(test_file, test_data)
При запуске я получаю следующую ошибку:
TypeError: write() argument must be str, not bytes
Я смог обойти это, вместо этого передав numpy.save
путь непосредственно в виде строки:
numpy.save(test_path, test_data)
Тем не менее, я нахожу эту ошибку странной, так как согласно моему прочтению документации, numpy.save
должен принимать открытый подобный файлу объект напрямую. Я что-то упустил?