max baseman wrote: > cool thanks > > oh for performance eventualy i would like the file to contain many quotes Using readlines isn't exactly going to cause a performance bottleneck. I used the following code #make the file.py f = file("temp.txt","w") x = 100000 while x > 0: f.write("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n") x -= 1 f.close() #------- this creates a file with a whole lot of lines of 'a's. 100,000 lines, to be exact, and 4,200,000 bytes.
In other words, this is a fair approximation for if you had, say, 25,000 quotes (since your quotes are likely to be, on average, longer than the amount of 'a's I used.) I think you'll agree that that's quite a few quotes. Now how long does it take to use readlines() on this file? #test performance.py import timeit string = "f = file('temp.txt','r');f.readlines();f.close()" temp = timeit.Timer(stmt=string) print "1000 iterations took: " + str(temp.timeit(1000)) #----- what this code does is opens, reads all the text of the file, and closes the file. We call timeit with 1000 as the argument, so it repeats this process 1000 times. The output of this program on my machine is: 1000 iterations took: 51.0771701431 In other words, if you have 25,000 quotes, you could read all of them into memory in 51.07717/1000 (approximately) or 0.05107 seconds. And I'm skeptical that you would even have that many quotes. So, like i said before, I doubt this will cause any significant performance problem in pretty much any normal situation. Also, by the way - please reply to me on-list so that others get the benefit of our conversations. -Luke _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor