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

如何从文件名字符串中判断是dashboard还是widget并执行对应操作

从文件名识别dashboard/widget类型并处理多文件场景

要解决这个问题,核心思路是利用文件名末尾固定后缀的特性,直接检查字符串结尾即可,不用复杂的正则匹配。下面分场景给你具体实现方案:

一、基础单文件判断

不管文件名前缀是下划线、点还是连字符分隔,只要末尾是dashboard.json或widget.json,用语言自带的「结尾匹配」方法就能快速识别:

Python 示例

filename = "jhgwefj-gfjh.widget.json"

if filename.endswith("dashboard.json"):
    # 这里写dashboard相关操作
    print("执行dashboard专属逻辑")
elif filename.endswith("widget.json"):
    # 这里写widget相关操作
    print("执行widget专属逻辑")
else:
    # 可选:处理不符合格式的异常情况
    print("无法识别的文件类型")

JavaScript 示例

const filename = "tes.test.dashboard.json";

if (filename.endsWith("dashboard.json")) {
    // 执行dashboard操作
    console.log("处理dashboard文件");
} else if (filename.endsWith("widget.json")) {
    // 执行widget操作
    console.log("处理widget文件");
} else {
    console.log("未知文件格式");
}

二、多同名文件场景处理

如果存在多个同类型文件(比如多个xxx_dashboard.json),可以通过遍历目录批量处理,还能结合文件属性区分:

Python 批量遍历示例

import os

# 目标目录路径
target_folder = "./your_target_folder"

# 遍历目录下所有文件
for file_name in os.listdir(target_folder):
    # 过滤出目标文件
    if file_name.endswith("dashboard.json"):
        file_path = os.path.join(target_folder, file_name)
        # 这里可以添加按时间排序、读取文件内容等操作
        print(f"正在处理dashboard文件:{file_path}")
    elif file_name.endswith("widget.json"):
        file_path = os.path.join(target_folder, file_name)
        print(f"正在处理widget文件:{file_path}")

多文件区分技巧

  • 按时间排序:可以用os.path.getmtime(file_path)获取文件修改时间,排序后再处理
  • 文件名编号提取:如果文件名带编号(比如dashboard_1.json),可以用字符串分割提取编号区分
  • 去重处理:如果担心重复文件,可以先收集所有文件路径,去重后再执行操作

三、额外注意事项

  • 大小写兼容:如果文件名可能出现大写(比如Dashboard.json),可以先转小写再判断:filename.lower().endswith("dashboard.json")
  • 带路径的文件名:如果输入的是完整文件路径(比如/user/docs/abc.widget.json),endswith方法依然有效,无需额外处理路径前缀
  • 异常防护:建议加上else分支处理不符合格式的文件,避免程序报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:05:37