Como comparar strings de versão do Python de maneira elegante
Ao trabalhar com pacotes Python, muitas vezes é necessário comparar os números de versão. No entanto, comparar versões de strings pode levar a resultados incorretos, pois a ordem das strings pode não corresponder à ordem real da versão.
Para resolver esse problema, Python fornece a classe packaging.version.Version, que suporta o PEP 440 estilo de ordenação de strings de versão. Este método permite a comparação precisa de strings de versão, levando em consideração caracteres especiais e identificadores de pré-lançamento.
Usar Versão é simples:
from packaging.version import Version version1 = Version("2.3.1") version2 = Version("10.1.2") print(version1Ao contrário da comparação de string nativa, Version reconhece corretamente que "2.3.1" é menor que "10.1.2".
Outra opção, embora obsoleta, é distutils.versão. Embora não esteja documentado e esteja em conformidade com o PEP 386 desatualizado, ainda pode ser encontrado:
from distutils.version import LooseVersion version1 = LooseVersion("2.3.1") version2 = LooseVersion("10.1.2") print(version1No entanto, distutils.version tem limitações e não lida corretamente com versões PEP 440.
Em resumo, para comparar strings de versão Python com precisão e em um Pythonic forma, use packaging.version.Version.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3