Прежде всего, я публикую это, потому что, когда я искал решение для проблемы ниже, я не мог найти его в stackoverflow. Итак, я надеюсь немного добавить сюда базу знаний.
Мне нужно обработать некоторые файлы в каталоге и сделать так, чтобы файлы были отсортированы по номерам. Я нашел несколько примеров сортировки - в частности, с использованием шаблона lambda
- на wiki.python.org , и я собрал это вместе:
#!env/python
import re
tiffFiles = """ayurveda_1.tif
ayurveda_11.tif
ayurveda_13.tif
ayurveda_2.tif
ayurveda_20.tif
ayurveda_22.tif""".split('\n')
numPattern = re.compile('_(\d{1,2})\.', re.IGNORECASE)
tiffFiles.sort(cmp, key=lambda tFile:
int(numPattern.search(tFile).group(1)))
print tiffFiles
Я все еще довольно новичок в Python и хотел бы спросить сообщество, есть ли какие-либо улучшения, которые можно сделать в этом: сокращение кода (удаление lambda
), производительность, стиль / читаемость?
Спасибо,
Zachary