On 2018-07-16, Larry Martell <larry.mart...@gmail.com> wrote: > I had some code that did this: > > meas_regex = '_M\d+_' > meas_re = re.compile(meas_regex) > > if meas_re.search(filename): > stuff1() > else: > stuff2() > > I then had to change it to this: > > if meas_re.search(filename): > if 'MeasDisplay' in filename: > stuff1a() > else: > stuff1() > else: > if 'PatternFov' in filename: > stuff2a() > else: > stuff2() > > This code needs to process many tens of 1000's of files, and it > runs often, so it needs to run very fast. Needless to say, my > change has made it take 2x as long. Can anyone see a way to > improve that?
Can you expand/improve the regex pattern so you don't have rescan the string to check for the presence of MeasDisplay and PatternFov? In other words, since you're already using the giant, Swiss Army sledgehammer of the re module, go ahead and use enough features to cover your use case. -- Neil Cerutti -- https://mail.python.org/mailman/listinfo/python-list