微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决在许多文件中找到最大的版本号文件?

嗨,我在文件夹中有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

为我提供了一些喜欢的numbrs列表:

>>> 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”,是否可以进一步针对准确性和性能进行优化?

解决方法

您可以将max()函数与自定义key=函数一起使用:

import re

lst = ['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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。