我正在遍历一个包含卵的目录,以便将这些卵添加到sys.path
。如果目录中有相同的.egg的两个版本,我只想添加最新的版本。
我有一个正则表达式r"^(?P<eggName>\w+)-(?P<eggVersion>[\d\.]+)-.+\.egg$
来从文件名中提取名称和版本。问题是比较版本号,它是一个像2.3.1
这样的字符串。
因为我比较字符串,2排序超过10,但这是不正确的版本。
>>> "2.3.1" > "10.1.1"
True
我可以做一些拆分、解析、转换为int等,最终我将得到一个变通方法。但这是Python, 而不是Java。是否有一种优雅的方法来比较版本字符串?