Extracting a short using struct - won't print.

Graham Nicholls graham at rockcons.co.uk
Thu Aug 7 18:00:29 CEST 2003


Peter Hansen wrote:

> Graham Nicholls wrote:
>> 
>> Thanks to Richard and Alex, I'm doing this:
>> 
>>         seg_stru=">BHH"
>>         seg_data=self.fhand.read(struct.calcsize(seg_stru))
>>         data=struct.unpack(seg_stru,seg_data)
>>         x=seg_data[1]
>>         y=seg_data[2]
> 
> Why are you unpacking the struct if you aren't going to use the
> unpacked data?

Err, I'm trying to extract two shorts - the x and y size in pixels of an
image, which I'll use to scale it to fit another pair of parameters.  What
makes you think I'm not using the data? Am I not - I thought I was!

I realise that ">BHH" above ouhjt really to be "xHH" but aside from that, I
don't understand your point - theres more code after the debug in the rel
app - returning x and y.  

> 
>>         if debug:
>>                 print ("DEBUG: Image [%s] is [%d] by [%d] pixels" %
>>                 (self.fname,x,y))
> 
> Best way to troubleshoot this kind of thing, in my experience,
> is to insert "import pdb; pdb.set_trace()" into the code just
> above the failing line, then use the debugger to inspect the
> values directly just before they are used.  (You need to execute
> the "r" or "return" command immediately after the debugger is
> entered... the rest is pretty straightforward to learn.)
> 
I'll give that a go, thanks
> -Peter

-- 
Graham Nicholls
Rock Computer Consultancy





More information about the Python-list mailing list