Diese Methode erhöht automatisch einen übergebenen Dateinamen. Beispiele:
test.txt ==> test2.txt
test0001.txt ==> test0002.txt
1 def inc_filename(s):
2 from re import search
3 m = search(r'(?:[^\d]*(\d+)[^\d]*)+', s)
4 if m:
5 next = str(int(m.group(1))+1)
6 start, end = m.span(1)
7 s = s[:max(end - len(next), start)] + next + s[end:]
8 else:
9 name, ext = s.rsplit('.', 1)
10 return '%s2.%s' % (name, ext)
11 return s
Adaptiert aus dem Python Cookbook Increment numbers in a string.