Got it - it needs the blank line to signal that code block has ended.
Thanks
On Mar 22, 2007, at 3:05 PM, Jason Massey wrote:
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