「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Python のバージョン文字列を正確に比較するにはどうすればよいですか?

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

2024 年 11 月 18 日に公開
ブラウズ:245

How to Accurately Compare Python Version Strings?

Python バージョン文字列をエレガントに比較する方法

Python パッケージを使用する場合、多くの場合、バージョン番号を比較する必要があります。ただし、文字列のバージョンを比較すると、文字列の順序が実際のバージョンの順序に対応していない可能性があるため、不正確な結果が生じる可能性があります。

この問題に対処するために、Python は PEP 440 をサポートする package.version.Version クラスを提供します。バージョン文字列の順序付けのスタイル。この方法では、特殊文字とプレリリース識別子を考慮して、バージョン文字列を正確に比較できます。

バージョンの使用は簡単です:

from packaging.version import Version

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

print(version1 

ネイティブの文字列比較とは異なり、Version は「2.3.1」が「10.1.2」より小さいことを正しく認識します。

もう 1 つのオプションですが、非推奨です。 distutils.version です。これは文書化されておらず、古い PEP 386 に準拠していますが、依然として発生する可能性があります:

from distutils.version import LooseVersion

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

print(version1 

ただし、distutils.version には制限があり、PEP 440 バージョンを正しく処理できません。

要約すると、Python バージョン文字列を正確に、Pythonic で比較するために必要です。この方法では、packaging.version.Version.

を使用します。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3