for loop: weird behavior
Terry Reedy
tjreedy at udel.edu
Fri May 4 16:47:07 EDT 2012
On 5/4/2012 4:33 PM, ferreirafm wrote:
> Hi there,
> I simply can't print anything in the second for-loop bellow:
>
> #########################################
> #!/usr/bin/env python
>
> import sys
>
> filename = sys.argv[1]
> outname = filename.split('.')[0] + '_pdr.dat'
> begin = 'Distance distribution'
> end = 'Reciprocal'
> first = 0
> last = 0
> with open(filename) as inf:
> for num, line in enumerate(inf, 1):
> #print num, line
> if begin in line:
> first = num
> if end in line:
> last = num
The file pointer is now at the end of the file. As an iterator, the file
is exhausted. To reiterate, return the file pointer to the beginning
with inf.seek(0).
> for num, line in enumerate(inf, 1):
> print 'Ok!'
> print num, line
> if num in range(first + 5, last - 1):
> print line
> print first, last
> print range(first + 5, last - 1)
--
Terry Jan Reedy
More information about the Python-list
mailing list