struct - Error Packing and Unpacking bytes in Python -


my code has error(see below code) after enter in value. can pack bits unpacking doesn't work. suggestions? don't understand packing , unpacking , documentation bit confusing.

import struct   #binaryadder -  def binaryadder(input):     input = int(input)     d = struct.pack("<i", input)     print d     print type(d)     d = struct.unpack("<i",input)     print d  #test pack   count = 0 while true:     print "enter input"     = raw_input()     binaryadder(a)     count = count + 1     print "while loop #%s finished\n" % count  

this code throws following error after enter in string:

enter input 900 รค <type 'str'> traceback (most recent call last):   file "c:\pythonpractice\binarygenerator.py", line 25, in <module>     binaryadder(a)   file "c:\pythonpractice\binarygenerator.py", line 17, in binaryadder     d = struct.unpack("<i",input) struct.error: unpack requires string argument of length 4 

d = struct.pack("<i", input) 

this packs input string; entered number 900 packed string '\x84\x03\x00\x00'.

then, bit later, this:

d = struct.unpack("<i",input) 

now attempt unpack same input, still 900. obviously, doesn’t work since need unpack string. in case, want unpack d packed before. try this:

unpacked_d = struct.unpack("<i", d) 

unpacked_d should contain number input.


Comments

Popular posts from this blog

php - Vagrant up error - Uncaught Reflection Exception: Class DOMDocument does not exist -

vue.js - Create hooks for automated testing -

Add new key value to json node in java -