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

求类似os.listdir()的函数:可按需重复添加目录项至列表

实现自定义目录列表重复项功能

要实现按指定次数重复目录项的需求,可以通过以下步骤完成:

核心思路

  1. 用os.listdir()获取目录下的文件名
  2. 去除每个文件名的后缀(比如.png)
  3. 基于预设的重复次数映射,将每个文件名重复对应次数后加入结果列表

代码实现

import os

def custom_repeat_listdir(path, repeat_counts):
    result_list = []
    # 遍历目录下的所有项
    for filename in os.listdir(path):
        # 分离文件名和后缀,取纯名称部分
        file_name = os.path.splitext(filename)[0]
        # 获取当前文件对应的重复次数,默认重复1次
        times = repeat_counts.get(file_name, 1)
        # 将文件名重复指定次数并添加到结果列表
        result_list.extend([file_name] * times)
    return result_list

# 示例:定义每个文件名对应的重复次数
repeat_map = {
    'Bacon': 4,
    'Basics': 2,
    'Elf': 3,
    'Prisoner': 2
}

# 替换成你的目标目录路径
target_path = './your_target_directory'
# 调用函数并打印结果
print(custom_repeat_listdir(target_path, repeat_map))

代码说明

  • os.path.splitext(filename):将文件名拆分为(名称, 后缀)的元组,比如'Bacon.png'会得到('Bacon', '.png')
  • repeat_counts.get(file_name, 1):从映射字典中获取重复次数,如果找不到对应名称,默认重复1次
  • [file_name] * times:生成包含times个相同文件名的临时列表,再用extend加入结果列表

运行后就能得到你期望的重复项列表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 08:05:29