[Tutor] new to python

N6Ghost n6ghost at gmail.com
Mon Jul 24 23:58:23 EDT 2017



On 7/23/2017 1:03 AM, Alan Gauld via Tutor wrote:
> On 23/07/17 07:26, N6Ghost wrote:
>
>> f = open("C:\coderoot\python3\level1\inputfile.txt", 'r')
>> for line in file:
> Note that you have no variable called 'file'.
> So this line doesn't make sense.
>
>>       for line in f:
>>           print(line.rstripe())
> This bit will work if you omit the line above and
> fix the indentation. (and remove the 'e' from strip()
>
>>           f.close()
> This should be outside the loop, you don't want
> to close the file after every line.
>
> Finally, there is another way to do this which
> is considered 'better'/more Pythonic:
>
> with open("C:\coderoot\python3\level1\inputfile.txt", 'r') as f:
>       for line in f:
>           print(line.strip())
>
> Notice with this construct the closing of the file is
> handled for you.
>
>> any idea why that does not work?
> When posting questions always include the full error text.
> Although apparently cryptic it actually contains a lot of
> useful detail which saves us from making guesses.
>


this code works
f = open("C:/coderoot/python3/level1/inputfile.txt", 'r')
for line in f:
     for line in f:
         #print(line.rstrip())
         print(line)

f.close()f = open("C:/coderoot/python3/level1/inputfile.txt", 'r')
for line in f:
     for line in f:
         #print(line.rstrip())
         print(line)

f.close()

the out put skips the first line of the inputfile and puts a blank line 
inbetween

inputfile is:
tom
jerry
make
windows
linux

-N6Ghost



More information about the Tutor mailing list