Blocking readline() Call?
Peter Hansen
peter at engcorp.com
Mon Nov 10 15:15:57 EST 2003
Scott Brady Drummonds wrote:
>
> I'm just figuring Python out but have become stalled with the following
> snippit of code: For some reason, the program stalls after the "read line:
> x" for the last line. The 'done reading cycle map' message is never
> generated:
>
> while 1:
> line = file.readline()
> if line == '':
> continue
Correct this: you want "break", not continue.
> data = line.strip().split(':')
> cycleMap[int(data[0])] = int(data[1])
> i = i + 1
> print ('read line %d' % i)
> file.close()
> print ('done reading cycle map')
>
> I thought readline() was supposed to be non-blocking. Have I misunderstood
> something?
Yes, the problem wasn't where you thought it was. A well-placed print
statement or two would have showed you that readline was being called
repeatedly, not blocking.
-Peter
More information about the Python-list
mailing list