<html>
<body>
At 01:12 PM 7/6/2005, Marcus Goldfish wrote:<br>
<blockquote type=cite class=cite cite="">Hi,<br><br>
I have a file format that ends in a 4-byte (int32) number.&nbsp; I
would<br>
like to read this value in python on a WinXP machine with something<br>
like:<br><br>
fname = 'somefile'<br>
f = open(fname, 'rb')<br>
f.seek(-4,2)<br>
offset = f.read()<br><br>
... but this doesn't seem to work.&nbsp; The value that Python returns
is:<br><br>
&nbsp;&nbsp; '@\x19\x01\x00'<br><br>
but I know from similar code in Matlab that the correct sequence
is:<br><br>
&nbsp;&nbsp; 64 25 1 0<br><br>
Can someone point out my error?</blockquote><br>
A file is a sequence of characters. That is what Python is showing you.
Since 3 of them are not &quot;graphic characters&quot; Python displays
their hexadecimal equivalents.. x19 translated to base 10 is 25. To ask
Python to (in essence) cast a character to an integer you use the ord
function. Ord('\x19') will give you integer 25.<br><br>
<br>
<blockquote type=cite class=cite cite="">Thanks!<br>
Marcus<br>
_______________________________________________<br>
Tutor maillist&nbsp; -&nbsp; Tutor@python.org<br>
<a href="http://mail.python.org/mailman/listinfo/tutor" eudora="autourl">http://mail.python.org/mailman/listinfo/tutor</a>
</blockquote>
<x-sigsep><p></x-sigsep>
<font size=2>Bob Gailer<br>
<a href="mailto:bgailer@alum.rpi.edu" eudora="autourl">mailto:bgailer@alum.rpi.edu<br>
</a>510 558 3275 home<br>
720 938 2625 cell</font> </body>
</html>