Используйте модуль регулярных выражений re :
import re
def splitEntry(entry):
firstDecMatch = re.match(r"\d+$", entry)
alpha, numeric = "",""
if firstDecMatch:
pos = firstDecMatch.start(0)
alpha, numeric = entry[:pos], entry[pos:]
else # no decimals found at end of string
alpha = entry
return (alpha, numeric)
Обратите внимание, что регулярным выражением является `\ d + $ ', которое должно совпадать со всеми десятичными знаками в конце строки.Если строка содержит десятичные дроби в первой части, они не будут учитываться, например: xy3zzz134 -> "xy3zzz", "134".Я выбрал это, потому что вы говорите, что ожидаете имена файлов, а имена файлов могут включать числа.Конечно, проблема в том, что имя файла заканчивается цифрами.