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

DDD
リリース: 2024-11-11 07:45:03
オリジナル
574 人が閲覧しました

How do I reliably compare version strings in Python?

Python でのバージョン文字列の比較

同じソフトウェアの複数のバージョンが含まれるディレクトリを操作する場合、最新のバージョンのみを識別して利用することが重要ですバージョン。これにはバージョン番号を比較する必要がありますが、文字列の比較では正確な結果が得られない可能性があるため、困難な場合があります。

パッケージ固有の比較

Python は、バージョン文字列を比較するための標準化されたソリューションを提供します。 package.version モジュールを使用します。 Version クラスは、最新の Python パッケージで使用される規則に準拠した PEP 440 スタイルの順序付けをサポートしています。

from packaging.version import Version

version1 = Version("2.3.1")
version2 = Version("10.1.2")

if version1 < version2:
    print("Version 1 (2.3.1) is older than Version 2 (10.1.2).")
ログイン後にコピー

このアプローチにより、Python パッケージ内のバージョン文字列を比較するための信頼性が高く一貫した方法が提供されます。

レガシー比較

packaging.version が推奨されていますが、古いバージョンです。メソッドは distutils.version の形式で存在します。ただし、このメソッドは文書化されておらず、現在は置き換えられている PEP 386 に準拠しているため、現在の Python バージョン管理手法と互換性がありません。

from distutils.version import LooseVersion, StrictVersion

version1 = LooseVersion("2.3.1")
version2 = LooseVersion("10.1.2")

if version1 < version2:
    print("Version 1 (2.3.1) is older than Version 2 (10.1.2).")
ログイン後にコピー

LooseVersion は PEP 440 バージョンを「厳密ではない」ものとして扱うことに注意することが重要です。 Version と同じバージョン比較ロジックには準拠しません。さらに、StrictVersion は PEP 440 バージョンを無効とみなし、そのようなバージョンで使用するとエラーが発生します。

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

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