Я прохожу каталог, содержащий яйца, чтобы добавить эти яйца в sys.path
. Если в каталоге есть две версии одного и того же .egg, я хочу добавить только последний.
У меня есть регулярное выражение r"^(?P<eggName>\w+)-(?P<eggVersion>[\d\.]+)-.+\.egg$
, чтобы извлечь имя и версию из имени файла. Проблема заключается в сравнении номера версии, которая представляет собой строку типа 2.3.1
.
Так как я сравниваю строки, 2 сортировки выше 10, но это неверно для версий.
>>> "2.3.1" > "10.1.1"
True
Я мог бы сделать некоторое расщепление, разбор, литье в int и т.д., и в конечном итоге я получу обходное решение. Но это Python, а не Java. Есть ли элегантный способ сравнения строк версии?