ホームページ > バックエンド開発 > Python チュートリアル > Python でバージョン番号を確実に比較するにはどうすればよいですか?

Python でバージョン番号を確実に比較するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-22 06:44:12
オリジナル
269 人が閲覧しました

How to Reliably Compare Version Numbers in Python?

Python でのバージョン番号の比較

同じ Egg の複数のバージョンを含むディレクトリを移動するときに、最新バージョンのみが追加されるようにするsys.path に追加すると、バージョン文字列を比較するときに直感的ではない順序付けが行われるため、問題が発生する可能性があります。 strings.

packaging.version の使用

Python は、バージョン文字列の PEP 440 スタイルの順序付けをサポートする、packaging.version モジュールを通じて洗練されたソリューションを提供します。このモジュールは、バージョンを正確に比較するために使用できる Version クラスを提供します。

from packaging.version import Version

# Example:
version1 = Version("2.3.1")
version2 = Version("10.1.2")
print(version1 < version2)  # True
ログイン後にコピー

レガシー メソッド

バージョン文字列を比較する古いメソッドは distutils.version です。 。ただし、これは非推奨であり、置き換えられた PEP 386 に準拠しています。LooseVersion と StrictVersion の 2 つのクラスが提供されます。

from distutils.version import LooseVersion, StrictVersion

# LooseVersion compares versions loosely:
version1 = LooseVersion("2.3.1")
version2 = LooseVersion("10.1.2")
print(version1 < version2)  # True

# StrictVersion is stricter in its comparison:
version1 = StrictVersion("2.3.1")
version2 = StrictVersion("10.1.2")
print(version1 < version2)  # True

# However, it doesn't recognize valid PEP 440 versions as strict:
version1 = StrictVersion("1.3.a4")
print(version1)  # ValueError: invalid version number '1.3.a4'
ログイン後にコピー

結論

Python でバージョン番号を比較する場合、 package.version は、信頼性の高い洗練されたソリューションを提供します。現在の PEP 440 仕様に準拠しており、バージョン比較のためのクリーンで簡潔な API を提供します。

以上がPython でバージョン番号を確実に比較するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート