What is built-in method sub

Jeremy jlconlin at gmail.com
Mon Jan 11 21:02:06 CET 2010

On Jan 11, 12:54 pm, Carl Banks <pavlovevide... at gmail.com> wrote:
> On Jan 11, 11:20 am, Jeremy <jlcon... at gmail.com> wrote:
> > I just profiled one of my Python scripts and discovered that >99% of
> > the time was spent in
> > {built-in method sub}
> > What is this function and is there a way to optimize it?
> I'm guessing this is re.sub (or, more likely, a method sub of an
> internal object that is called by re.sub).
> If all your script does is to make a bunch of regexp substitutions,
> then spending 99% of the time in this function might be reasonable.
> Optimize your regexps to improve performance.  (We can help you if you
> care to share any.)
> If my guess is wrong, you'll have to be more specific about what your
> sctipt does, and maybe share the profile printout or something.
> Carl Banks

Your guess is correct.  I had forgotten that I was using that

I am using the re.sub command to remove trailing whitespace from lines
in a text file.  The commands I use are copied below.  If you have any
suggestions on how they could be improved, I would love to know.


lines = self._outfile.readlines()

line = string.join(lines)

if self.removeWS:
    # Remove trailing white space on each line
    trailingPattern = '(\S*)\ +?\n'
    line = re.sub(trailingPattern, '\\1\n', line)

More information about the Python-list mailing list