von Strings Auspacken funktioniert:`struct.unpack_from` funktioniert nicht mit` bytearray`?
>>> import struct
>>> struct.unpack('>h', 'ab')
(24930,)
>>> struct.unpack_from('>h', 'zabx', 1)
(24930,)
aber, wenn seine bytearray
:
>>> struct.unpack_from('>h', bytearray('zabx'), 1)
Traceback (most recent call last):
File "<ipython-input-4-d58338aafb82>", line 1, in <module>
struct.unpack_from('>h', bytearray('zabx'), 1)
TypeError: unpack_from() argument 1 must be string or read-only buffer, not bytearray
die ein wenig merkwürdig erscheint. Was soll ich eigentlich dagegen tun? offensichtlich konnte ich:
>>> struct.unpack_from('>h', str(bytearray('zabx')), 1)
(24930,)
Aber ich versuche explizit vermeiden Kopieren möglicherweise große Mengen an Speicher um.
Sie können den Puffertyp verwenden, um die Zeichenfolge zu verweisen, ohne mehr Speicher aufnehmen, dann ist das passiert als Argument. –