struct unpack

Ivan Illarionov ivan.illarionov at gmail.com
Mon Mar 17 16:46:54 EDT 2008


On Mar 17, 11:00 pm, brnstrmrs <brnstr... at gmail.com> wrote:
> If I run:
>
> testValue = '\x02\x00'
> junk = struct.unpack('h', testValue)
>
> Everything works but If I run
>
> testValue = raw_input("Enter Binary Code..:")  inputting at the
> console '\x02\x00'
> junk = struct.unpack('h', testValue)
>
> It errors out with
> Traceback (most recent call last):
>   File "/home/nirmal/eDoseCheck/yennes1.py", line 9, in <module>
>     junk = struct.unpack('h', testValue)
>   File "struct.py", line 87, in unpack
>     return o.unpack(s)
> error: unpack requires a string argument of length 2
>
> any ideas?

You may need to use eval, because raw_input() does not understand '\'-
prefixed characters.

>>> testValue = eval('"%s"' % raw_input("Enter Binary Code..: "))
Enter Binary Code..: \x02\x00
>>> junk, = struct.unpack('h', testValue)
>>> print junk
2





More information about the Python-list mailing list