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

遍历目录列表查找指定位置的request.json或response.json文件

符合需求的简洁文件查找实现方案

实现思路

直接基于路径匹配规则精准查找,不需要遍历全量子目录,核心规则完全匹配需求:

  • 仅扫描每个输入目录下的result一级目录、result/scheduler二级目录
  • 仅匹配文件名是request.json或response.json的文件

代码实现

基于Python标准库pathlib实现,无需额外安装依赖,代码简洁易读:

from pathlib import Path
from typing import List

def find_target_json(input_paths: List[str]) -> List[str]:
    target_filenames = {"request.json", "response.json"}
    allowed_subpath_patterns = [
        "result/*.json",
        "result/scheduler/*.json"
    ]
    matched_paths = []
    
    for root_dir in map(Path, input_paths):
        if not root_dir.exists() or not root_dir.is_dir():
            continue
        for pattern in allowed_subpath_patterns:
            for file in root_dir.glob(pattern):
                if file.is_file() and file.name in target_filenames:
                    matched_paths.append(str(file.resolve()))
    
    return matched_paths

# 示例调用
if __name__ == "__main__":
    input_paths = [
        '/root/services/builds/tesla', 
        '/root/services/builds/google/apis', 
        '/root/services/builds/qa/tests', 
        '/root/services/builds/airlines_Solutions', 
        '/root/services/builds/traffic_patterns/api'
    ]
    for json_path in find_target_json(input_paths):
        print(json_path)

方案优势

  • 逻辑和需求规则一一对应,可读性强,后续修改规则成本低
  • 精准匹配路径,不会扫描无关目录,执行效率远高于全目录遍历
  • 自动处理路径拼接,兼容不同操作系统的路径格式
  • 自带非法路径过滤,鲁棒性更强

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 05:09:02