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

Python读取文件名后自动匹配调用对应处理函数批量处理文件如何实现

实现方案

你直接在现有main.py的基础上补充如下代码即可,运行后会自动遍历处理所有符合要求的文件:

import os

if __name__ == "__main__":
    # 定位Files文件夹路径
    base_dir = os.path.dirname(os.path.abspath(__file__))
    files_dir = os.path.join(base_dir, "Files")
    
    # 遍历Files文件夹下所有文件
    for filename in os.listdir(files_dir):
        # 跳过子文件夹,只处理文件
        file_path = os.path.join(files_dir, filename)
        if not os.path.isfile(file_path):
            continue
        
        # 提取文件名前缀(去掉后缀)
        prefix = os.path.splitext(filename)[0]
        # 构造目标函数名
        target_func_name = f"{prefix}_fct"
        
        # 检查是否存在对应的处理函数
        if target_func_name in globals():
            # 调用对应函数,传入文件完整路径
            print(f"正在处理文件:{filename},调用函数:{target_func_name}")
            globals()[target_func_name](file_path)
        else:
            print(f"跳过文件{filename}:未找到对应的{target_func_name}处理函数")

逻辑说明

  • 代码默认以main.py所在的目录为基准定位Files文件夹,不需要写死绝对路径,换环境也能正常运行
  • 自动跳过Files目录下的子文件夹,只处理真实文件
  • 提取前缀时会自动去掉所有类型的文件后缀,不管是xlsx、txt还是csv都能正确识别
  • 找不到对应处理函数的文件会直接跳过并打印提示,不会报错中断运行
  • 你不需要修改已经写好的A_fct/B_fct等处理函数,直接把原来写在函数里的处理逻辑补上就行,函数接收的参数就是对应文件的完整路径

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 08:24:00