Nested For loop not running full
inshu chauhan
insideshoes at gmail.com
Fri Apr 26 05:36:34 EDT 2013
On Fri, Apr 26, 2013 at 2:39 PM, Peter Otten <__peter__ at web.de> wrote:
> inshu chauhan wrote:
>
> > I have this part of my code where I am trying to traverse over an image
> by
> > running a for loop for both x and y co-ordinate axis. But the loop is
> > terminating by just reading first pixel. Can think of a reason why this
> is
> > happening ?
> >
> > The code is:
> > for sy in xrange(0, segimage.height):
> > for sx in xrange(0, segimage.width):
> > if segimage[sy,sx] == (0.0, 0.0, 0.0):
> > continue
> > else:
> > seg_color = segimage[sy,sx]
> > blue = int(seg_color[0])
> > green = int(seg_color[1])
> > red = int(seg_color[2])
> > reg_num = blue + 256 * green + 65536 * red
> > for l in f:
> > sp = l.split(",")
> > if len(sp) == 14:
> > print sy, sx # for checking which pixel its
> > reading currently
> > print reg_num, sp[0] # for checking whats
> > happening
> > if reg_num == int(sp[0].strip()):
> > print reg_num, sp[0].strip() # for checking
> > whats happening
> > classification = int(sp[13].strip())
> >
> >
> > The inside "for loop" is for reading a csv format file from which I am
> > extracting some information.
>
> My crystal ball says that the 'for sy...' and 'for sx...' loops are running
> to completion, but you don't get the coordinates printed because you put
> them into the 'for l in f' loop which will only run once.
>
Is there any means by which I can run this 'For l in f' loop again and
again ?
>
> The quick and dirty fix is to replace
>
> f = open(...)
>
> in the code you are not showing with
>
> f == list(open(...))
>
f is just a text file(csv format).. so why list ??
> The reasonable thing to do is of course to move the preprocessing (e.g.
> csv-
> parsing) out of the sy and sx loops.
>
I did this but again then what I intend to do is not really happening, For
every pixel I read, I want to traverse the full file, so that the
information I am taking from pixel have to match in one of the line in the
file. Can this be done by modifying my code ? or something new has to be
devised ?
> --
> http://mail.python.org/mailman/listinfo/python-list
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20130426/f3a1187b/attachment.html>
More information about the Python-list
mailing list