"Ricardo Aráoz" <[EMAIL PROTECTED]> wrote >>>> In = open(r'E:\MyDir\MyDoc.txt', 'rb') >>>> Out = open(r'E:\MyDir\MyUpperDoc.txt', 'wb') >>>> Out.write(In.read().upper()) >>>> In.close() >>>> Out.close() > > Pretty simple program. The question is : If 'In' is a HUGE file, how > does Python process it?
Exactly as it does for a small file... :-) > Does it treat it as a stream and passes bytes to > 'Out' as soon as they are coming in, or does it read the whole file > into > memory and then passes the whole file to 'Out'? You have told it to do the latter. read() reads the whole file into a string so Out.write(In.read().upper()) Is exactly the same as temp = In.read() temp = temp.upper() Out.write(temp) Just because you put it in one line doesn't chanhge how Python interprets it. > If the answer is the first choice I would like to know how to > instruct > Python to do the second choice. I'm guessing you mean this the other way around? You can read the file line by line for line in In: Out.write(line.upper()) HTH, -- Alan Gauld Author of the Learn to Program web site http://www.freenetpages.co.uk/hp/alan.gauld _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor