[Tutor] This Deletes All my Files
Max Noel
maxnoel_fr at yahoo.fr
Fri Feb 4 09:15:04 CET 2005
On Feb 4, 2005, at 06:39, Chad Crabtree wrote:
> I've tried this and I cannot figure out why this does not work. I
> figure this has something to do with order of operations. I figured
> someone would know exactly why it doesn't work. Wouldn't this start
> inside parens then from left to right?
>
> open(item,'w').write(open(item,'r').read().replace(' ',''))
>
> I tried this on the shell just trying to do some quick text
> replacement
> because I could figure out how to get awk to do it, and I didn't want
> to
> spend 5 hours RTFM. I got it to work by breaking it up to several
> statements, but I would like to know.
It's quite easy: evaluation starts from left to right. The program
opens item for writing (thus deleting it), creating a file object, then
executes its write method on the argument in the parens. However, since
at that point item is now empty, there is nothing to read from.
-- Max
maxnoel_fr at yahoo dot fr -- ICQ #85274019
"Look at you hacker... A pathetic creature of meat and bone, panting
and sweating as you run through my corridors... How can you challenge a
perfect, immortal machine?"
More information about the Tutor
mailing list