アプリケーションのバージョン番号が 1.18.10 より大きいかどうかを確認する必要があります。この場合、正規表現はどのようになりますか?
質問する
887 次
4 に答える
4
このバッテリーは Python の に既に含まれているようですdistutils.version
:
from distutils.version import LooseVersion
LooseVersion("1.18.11") > LooseVersion("1.18.10")
#True
LooseVersion("1.2.11") > LooseVersion("1.18.10")
#False (note that "2">"18" is True)
LooseVersion("1.18.10a") > LooseVersion("1.18.10")
#True
これは、バージョン番号の部分を整数として分割し、数値以外の部分 (アルファベットの拡張子など) を別々に正しく比較することを考慮に入れています。(代替の動作(辞書式比較)が必要な場合は、結果の文字列のタプルを直接比較できますversion_num.split(".")
)
バージョン文字列のアルファベット文字でStrictVersion
例外 ( ) をスローするバリアントもあることに注意してください。両方を非推奨にすることを計画しているPEP386ValueError
も参照してください。NormalizedVersion
于 2013-06-11T09:51:09.573 に答える