Python实现按前缀匹配并打开最新时间戳命名的JSON文件
筛选指定前缀的最新时间戳JSON文件
- 先通过
glob筛选出目标前缀的文件列表,再提取时间戳排序获取最新文件,完整代码如下:
import glob import json # 传入的目标前缀参数,示例为"QA558" target_prefix = "QA558" # 匹配对应前缀的所有JSON文件 matched_files = glob.glob(f"{target_prefix}_*.json") # 按文件名中的时间戳降序排序,取第一个即为最新文件 latest_file = sorted( matched_files, key=lambda fname: fname.split('_')[1].split('.')[0], reverse=True )[0] # 加载文件数据 with open(latest_file, 'r', encoding='utf-8') as f: json_data = json.load(f)
关键逻辑说明
- 时间戳提取:
fname.split('_')[1].split('.')[0]从文件名中拆分出纯时间戳字符串(比如从QA558_20240223165244591.json中得到20240223165244591) - 排序规则:因为时间戳是按年月日时分秒毫秒的数字格式生成的,直接按字符串降序排序就能得到最新的文件;如果需要更严谨,也可以把时间戳转成整数后再排序,修改
key为lambda fname: int(fname.split('_')[1].split('.')[0])即可
内容的提问来源于stack exchange,提问作者JD2775
相关产品推荐
相关产品推荐

