Help optimize a script?
joseph at arbitrary.org
Wed Oct 17 21:27:52 CEST 2001
Thanks for the tips. These are going to make a big difference, I'm sure.
PS: I'll change my anti-spam strategy. Since my email address is cryptic
enough as it is, I should make it more clear how to change it to make it
On Wed, 17 Oct 2001 at 13:20, Skip Montanaro wrote:
> Joseph> First, does anyone know of a tool that does this so I don't have
> Joseph> to reinvent the wheel, and barring that, can anyone offer some
> Joseph> tips on how to optimize this code
> Joseph> Any suggestions on how to speed this up?
> First suggestion: check out the xreadlines module if you are using a pre-2.2
> version of Python. If you are using 2.2 already you can just loop over the
> file object because it implements the iterator protocol:
> for line in sys.stdin:
> (xreadlines might still be faster because of buffering, you'll have to
> check to be sure.)
> Second suggestion: make "new" a list and either just append to it (starting
> with new being an empty list):
> new = 
> for index ...:
> or set the index in new explicitly (starting with new being a list of
> appropriate length filled with None):
> new = [None] * len(indecies[sys.argv])
> for index ...:
> new[index] = string.strip(...))
> When you want to print the result just join the list:
> print "".join(new)
> print string.join(new, "")
> Third (minor) suggestion: if you are using a version of Python with string
> methods (to check, does executing "print ''.join" work?), skip string.strip
> and just use the strip() method of the string you're manipulating.
> Fourth suggestion: to allow people to respond directly to you, don't try and
> disguise your email address. I couldn't tell what I needed to do to get
> email to you (delete "no-spam"? change "someone" to something else? change
> "arbitrary" to something else?), so I just punted and am simply replying to
> the list.
More information about the Python-list