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 サイトの他の関連記事を参照してください。