LINUX.ORG.RU

python struct — как задать формат для пары чисел?

 , ,


0

2

Использую struct для чтения бинарных массивов, генерируемых из cpp-кода. Со скалярными типами всё просто, читаю их как

np.reshape(st.unpack(fmt, f.read(fsize)), shape)
, где shape — форма массива; fmt = dtype*np.prod(shape); fsize = st.calcsize(fmt); а dtype — скалярный тип. А есть ли более-менее простой способ читать так векторные типы фиксированного размера, вроде float[3], complex и пр? Например, что бы для float[3] формат был чем-то вроде dtype=[fff], и целевой массив бы набивался не скалярами, а кортежами?

★★★★★

По сути ты хочешь декодить в Python формат, которым энкодишь в C++?

Crocodoom ★★★★★
()
Ответ на: комментарий от Zeta_Gundam

Для комплексных чисел наверное придется делать array.view(dtype=np.complex128), не знаю как более элегантно.

Zeta_Gundam
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.