piiiipes!!
Alex Martelli
aleax at aleax.it
Fri Aug 31 06:28:57 EDT 2001
"Ignacio Vazquez-Abrams" <ignacio at openservices.net> wrote in message
news:mailman.999229007.29977.python-list at python.org...
> On 30 Aug 2001, Jeff Grimmett wrote:
>
> > while (t = file_1_read_object.read()):
> > process_stuff()
> > file_2_write_object.write(t)
>
> t = file_1_read_object.read()
> while t:
> process_stuff()
> file_2_write_object.write(t)
> t = file_1_read_object.read()
>
> Granted, it's ugly, but it works.
It has the serious defect of violating the "once, and only
once" precept:-). I'd rather avoid duplicating the read call:
while 1:
t = whatever.read()
if not t: break
t = process(t)
blahblah.write(t)
However, see also my "Assign and test" recipe on the Cookbook,
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/66061,
if you're really keen on being able to code this as, e.g.:
while data.set(whatever.read()):
data.set(process(data.get()))
blahblah.write(data.get())
The 'DataHolder' class to which instance data belongs is just
a 4-liner, after all, and you can place it in your sitecustomize
module if you're *really* fond of this idiom:-).
Alex
More information about the Python-list
mailing list