<meta http-equiv="expires" content="timestamp">是什么效果
def get_file_sort_key(file_path):
"""自定义排序key:优先按系列前缀分组,再按数字/关键词排序"""
filename = os.path.basename(file_path)
# -------------------------- 关键:定义需要优先分组的系列前缀 --------------------------
# 可根据实际文件系列扩展(如新增"天棚工程"、"大模型RAG"等)
series_prefixes = [
"硅谷七姐妹分析之", # 目标系列:让该前缀的文件聚在一起
"天棚工程",
"天幕工程",
"大模型RAG"
]
# 1. 提取系列前缀(作为第一排序维度,同前缀优先)
matched_prefix = "" # 存储匹配到的系列前缀,无匹配则为空
for prefix in series_prefixes:
if filename.startswith(prefix):
matched_prefix = prefix
break
# 2. 提取系列前缀后的内容(用于同系列内排序)
if matched_prefix:
# 去掉前缀和后缀.mp4,保留核心关键词(如"英伟达"、"微软")
core_keyword = filename[len(matched_prefix):].replace(".mp4", "")
else:
# 非系列文件,核心关键词为完整文件名(去掉.mp4)
core_keyword = filename.replace(".mp4", "")
# 3. 提取文件名中的数字(原有逻辑,用于有数字的文件排序)
file_digits = ''.join(filter(str.isdigit, filename))
digit_key = int(file_digits) if file_digits else 0 # 无数字则为0
# -------------------------- 最终排序维度(优先级从高到低) --------------------------
# 1. matched_prefix:同系列前缀优先(空字符串 < 有前缀)
# 2. digit_key:同系列内按数字排序(无数字为0)
# 3. core_keyword:同系列无数字时,按关键词中文字典序排序
return (matched_prefix, digit_key, core_keyword)
# 替换原有的排序代码,使用自定义key
mp4_files.sort(key=get_file_sort_key)