Po pierwsze, zamieszczam to, ponieważ gdy szukałem rozwiązania poniższego problemu, nie mogłem znaleźć jednego na stackoverflow. Mam nadzieję, że dodam trochę do bazy wiedzy.Jak sortować pliki numerycznie?
Potrzebuję przetworzyć niektóre pliki w katalogu i trzeba posortować pliki numerycznie. Znalazłem kilka przykładów na sortowaniu - konkretnie przy użyciu wzorca lambda
- w wiki.python.org i kładę to razem:
#!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
nadal jestem raczej nowy w Pythonie i chciałbym zapytać, czy istnieją społeczności Jakiekolwiek ulepszenia, które można wprowadzić: skrócenie kodu (usunięcie lambda
), wydajność, styl/czytelność?
Dziękuję Zachary
+1 za prawidłowy tytuł pytania. – systemovich
Właściwym sposobem na zrobienie tego, co musisz zrobić, jest zadawanie pytania w pytaniu, a następnie dodawanie odpowiedzi w bicie odpowiedzi. Następnie usiądź wygodnie i poczekaj ... – paxdiablo
@paxdiablo: Dziękuję za instrukcje ... Przeczytałem FAQ, aby upewnić się, że mogę odpowiedzieć, ale nie byłem całkiem pewien co do mechaniki. Zrobię to zaraz następnym razem. –