Python中如何识别文件名中的版本标识并提取对应版本?
在Python中检测文件名的版本标识并提取版本号
当然可以实现,下面给你两种实用方案:
方案一:字符串匹配(适合规则固定的场景)
如果版本标识格式固定为t+数字(比如t1、t2),且不会和文件名其他部分混淆,直接用字符串判断即可:
import os # 遍历目标目录下的TXT文件 for filename in os.listdir("./your_target_dir"): if filename.endswith(".txt"): # 去除文件后缀 name_no_ext = os.path.splitext(filename)[0] # 检查并提取版本 if "t1" in name_no_ext: print(f"文件 {filename} 版本:t1") elif "t2" in name_no_ext: print(f"文件 {filename} 版本:t2") elif "t3" in name_no_ext: print(f"文件 {filename} 版本:t3") else: print(f"文件 {filename} 无匹配版本标识")
方案二:正则表达式(适配灵活的版本格式)
如果版本数字位数可能变化(比如t10、t100),或者想精准匹配t+数字的格式,用正则表达式更靠谱:
import os import re # 定义正则规则:匹配t后跟一个或多个数字的模式 version_regex = re.compile(r't(\d+)') for filename in os.listdir("./your_target_dir"): if filename.endswith(".txt"): name_no_ext = os.path.splitext(filename)[0] match_result = version_regex.search(name_no_ext) if match_result: # 提取数字部分并拼接成版本号 version = f"t{match_result.group(1)}" print(f"文件 {filename} 版本:{version}") else: print(f"文件 {filename} 无匹配版本标识")
注意:将代码中的./your_target_dir替换为你实际的文件目录路径。
内容的提问来源于stack exchange,提问作者Justin Chen
相关产品推荐
相关产品推荐

