Jerry Hill wrote:
On Thu, Dec 17, 2009 at 3:59 PM, luca72 <lucabe...@libero.it> wrote:
I have a bin file that i read as:
in_file =pen('primo.ske', 'rb')
leggo =uca.readlines()

i get a list like :
['\x00\x80p\x8b\x00\x00\x01\x19\x9b\x11\xa1\xa1\x1f\xc9\x12\xaf\x81!
\x84\x01\x00\x01\x01\x02\xff\xff\x80\x01\x03\xb0\x01\x01\x10m\x7f\n',
etc...]

but if i try to print  luca[0]
i get not the the string in the list but i get some like " 򀰉{"
how i can get a string like the string in the list?

print repr(luca[0])

You have several questions there. First, readlines() doesn't make sense if the file is binary. Unless you know that \n happens to be a delimiter in that particular formatted file, it makes more sense to just use read(), rather than readlines(). And in that case, you get a single string. You can specify how many bytes you want to read() each time.

Now when you print a list, print calls repr() on each item in the list. So Jerry is right that repr() is the direct answer to your question.

However, you may want a prettier output, such as that produced by binascii.hexlify(). A traditional dump file has hex bytes on one side, and printable characters on the other, with suitable spacing and such.

DaveA

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to