Python, hur packar man element i en lista mha struct.pack

Här diskuteras programmering och utveckling
mrolfson
Inlägg: 2
Blev medlem: 20 aug 2007, 19:28

Python, hur packar man element i en lista mha struct.pack

Inlägg av mrolfson »

Hej,
jag har ett problem som jag inte hittar någon bra lösning på.
Jag behöver skicka binärt data via sockets i  python. Mha struct kan man packa oilka datatyper till en sträng, men hur får man en "lista av floats" in i pack

from struct import *
SeqNo=3
Command=23
TempArrayInitial = [1.0, 2.0, 3.0, 4.0, 5.0]
line=pack('I5fI',SeqNo,TempArrayInitial,Command)

Här får jag ett runtimefel som säger att formatmasken måste vara lika som antalet variabler:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python25\lib\struct.py", line 63, in pack
    return o.pack(*args)
struct.error: pack requires exactly 7 arguments


Jag kan visserligen göra det i flera steg, men helst inte:

from struct import *
SeqNo=3
Command=23
TempArrayInitial = [1.0, 2.0, 3.0, 4.0, 5.0]
line=pack('I',SeqNo)

for aTemp in TempArrayInitial:
    line +=pack('f',aTemp)

line +=pack('I',Command)

Tack på förhand!
Användarvisningsbild
per9000
Inlägg: 931
Blev medlem: 07 maj 2007, 11:06
OS: Ubuntu
Utgåva: 23.04 Lunar Lobster
Ort: Västerås
Kontakt:

SV: Python, hur packar man element i en lista mha struct.pack

Inlägg av per9000 »

En sökning på usenet (via google groups)
http://groups.google.com/group/comp.lan ... ocket+pack

gav följande bra (?) tråd
http://groups.google.com/group/comp.lan ... d82ec688df

som gav en länk hit:
http://www.python.org/doc/current/lib/m ... truct.html

HTH,
Per

PS: comp.lang.python är huuuuur bra som helst :)
--
Per Erik Strandberg
Yet Another IT Consultant
Skriv svar

Återgå till "Programmering och webbdesign"