Можно использовать тестовую команду:
test -d $(OBJDIR) || mkdir $(OBJDIR)
Модуль struct
преобразует упакованные данные в значения Python и наоборот.
>>> import struct
>>> struct.unpack("<h", "\x00\x05")
(1280,)
>>> struct.unpack("<h", "\x00\x06")
(1536,)
>>> struct.unpack("<h", "\x01\x06")
(1537,)
«h» означает короткое int или 16-битное int. «<» означает использование прямого порядка байтов.
struct
подходит, если вам нужно преобразовать одну или небольшое количество 2-байтовых строк в целые числа, но array
и numpy
сам по себе лучше варианты. В частности, numpy.fromstring (вызываемый с соответствующим аргументом dtype
) может напрямую преобразовывать байты из вашей строки в массив (независимо от того, что это dtype
). (Если numpy.little_endian
ложно, вам придется поменять байты местами - см. здесь для более подробного обсуждения, но в основном вы захотите вызвать byteswap
для объекта массива, который вы только что создали с помощью fromstring
).