は2つのバージョン番号と比較指定子を与えられました。Pythonの動的な比較指定子でバージョン番号を比較
私を、私はそうのようdistutils.version
からLooseVersion
を使用してバージョンを比較できることを発見しました:
LooseVersion("1.2.3") >= LooseVersion("2.0.0")
をしかし、どのように、私は比較自体がspecifier
に渡さに依存することができますか?
私はhereからソリューションを使用することができます。
def check_versions(ver1, specifier, ver2):
return {
'==': LooseVersion(ver1) == LooseVersion(ver2),
'>=': LooseVersion(ver1) >= LooseVersion(ver2),
'<=': LooseVersion(ver1) <= LooseVersion(ver2),
'>': LooseVersion(ver1) > LooseVersion(ver2),
'<': LooseVersion(ver1) < LooseVersion(ver2),
}.get(x, False)
しかし、それはちょうど私には本当に不格好な感じ。より洗練されたソリューションはありませんか?
なぜセミバーを使用しないのですか?https://github.com/k-bx/python-semver –
@Apero比較演算子が動的な場合は、チェックが< 'または' == 'か何か他の場合、' semver'はどのように役立ちますか? –
ああ私はその重要なポイントを逃した、確かに –