In the interpreter this doesn't work:

f = open(r"c:\python24\image.dat")
line = f.readline()
while line:
...     line = f.readline()
... f.close()
Traceback (  File "<interactive input>", line 3
   f.close()
   ^
SyntaxError: invalid syntax

But this does:

f = open(r"c:\python24\image.dat")
line = f.readline()
while line:
...     line = f.readline()
...
f.close()


Note the differing placement of the f.close() statement, it's not part of
the while.


On 3/22/07, Kent Johnson <[EMAIL PROTECTED]> wrote:

Jay Mutter III wrote:
> Why is it that when I run the following interactively
>
> f = open('Patents-1920.txt')
> line = f.readline()
> while line:
>      print line,
>      line = f.readline()
> f.close()
>
> I get an error message
>
> File "<stdin>", line 4
>      f.close()
>      ^
> SyntaxError: invalid syntax
>
> but if i run it in a script there is no error?

Can you copy/paste the actual console transcript?

BTW a better way to write this is
f = open(...)
for line in f:
     print line,
f.close()

Kent

>
> Thanks
>
> Jay
>
> _______________________________________________
> Tutor maillist  -  Tutor@python.org
> http://mail.python.org/mailman/listinfo/tutor
>

_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to