找到许多文件中版本号最大的文件?

您好,我的文件夹中有 json 文件列表。


['user_sample_v001.json', 'user_sample_v002.json', 'user_sample_v105.json']

所以Python方式我正在尝试获取最新版本


>>> for item in lst:

...  print os.path.splitext(item.split("_")[-1])[0]


v001

v002

v105

给我喜欢这个的数字列表:


>>> for version in versions:

...  number = ""

...  for num in version:

...   if num.isdigit():

...    number = "{0}{1}".format(number, num)

...  nums.append(number)

... 

>>> nums

['001', '002', '105']

然后我可以做 max(nums) 给我'105'


然后我可以这样检查:


for user_sample in lst:

    if max_num in user_sample:

        print user_sample

这给了我“user_sample_v105.json”,它可以进一步优化准确性和性能吗?


HUWWW
浏览 34回答 1
1回答

偶然的你

您可以将max()函数与自定义key=函数一起使用:import relst = ['user_sample_v001.json', 'user_sample_v002.json', 'user_sample_v105.json']pattern = re.compile(r'_v(\d+)\.json')m = max(lst, key=lambda k: int(pattern.search(k).group(1)))print(m)印刷:user_sample_v105.json
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python