On Mon, Dec 14, 2015 at 11:24 AM, KP <kai.pet...@gmail.com> wrote: > data = list(f.read(4)) > print data > > from a binary file might give > > ['\x10', '\x20', '\x12', '\x01'] > > > How can I receive this instead? > > [0x10, 0x20, 0x12, 0x01] > > Thanks for all help!
Try this: data = [ord(x) for x in f.read(4)] Note that it won't print out in hexadecimal. >>> [0x10, 0x20, 0x12, 0x01] [16, 32, 18, 1] If you insist on that, try a subclass of int: class ord(int): ord = ord def __new__(cls, x): return super().__new__(cls, cls.ord(x)) def __repr__(self): return hex(self) Then they'll come out in hex. ChrisA -- https://mail.python.org/mailman/listinfo/python-list