J. Peng wrote:
> first I know this is the correct method to read and print a file:
>
> fd = open("/etc/sysctl.conf")
> done=0
> while not done:
> line = fd.readline()
> if line == '':
> done = 1
> else:
> print line,
>
> fd.close()
>
>
> I dont like that flag of "done",then I tried to re-write it as:
>
> fd = open("/etc/sysctl.conf")
> while line = fd.readline():
> print line,
> fd.close()
>
>
> this can't work.why?
Formally, because line = fd.readline() is a statement, not an
expression, and it can't be put into an if statement like that.
The most idiomatic way is probably
fd = open ("/etc/sysctl.conf")
for line in fd:
print line
Mel.
--
http://mail.python.org/mailman/listinfo/python-list