You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何从文件名拆分得到的版本列表中提取最大数值

实现思路

  • 遍历文件时不要直接打印拆分结果,先将版本各段转为整数后存入列表,利用Python元组支持按位比较的特性直接取最大值即可。

完整可运行代码

import glob

version_list = []
for file_name in glob.iglob('src/*/*', recursive=True):
    file_result = file_name.split('/')[2]
    final_string = file_result.split('__')[0]
    versions = final_string.split('.')
    # 版本各段转整数元组,去掉首段的V前缀
    ver_tuple = tuple(int(part.lstrip('V')) if part.startswith('V') else int(part) for part in versions)
    version_list.append(ver_tuple)

# 取最大版本
max_version = max(version_list)
# 转回原格式输出
max_version_str = f"V{max_version[0]}.{max_version[1]}.{max_version[2]}"
print(f"最大版本号为:{max_version_str}")

简化方案(仅取第三个位置的最大数值

如果你的需求仅为仅取列表第三位的最大数值,可以直接简化处理:

import glob

max_num = 0
for file_name in glob.iglob('src/*/*', recursive=True):
    file_result = file_name.split('/')[2]
    final_string = file_result.split('__')[0]
    versions = final_string.split('.')
    current_num = int(versions[2])
    if current_num > max_num:
        max_num = current_num

print(f"最大数值为:{max_num}")

使用你给出的样例输出运行上述代码,最终会返回结果51,符合预期。

内容的提问来源于stack exchange,提问作者Akash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 05:18:04