Во-первых, я публикую это, потому что, когда я искал решение проблемы ниже, я не смог найти его в 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