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

Python异常处理:遍历文件名提取数字时捕获ValueError不中断迭代

实现代码及逻辑说明

以下是可直接运行的完整实现:

import os

genders = []
face_dir = 'Face'

for image in os.listdir(face_dir):
    file_path = os.path.join(face_dir, image)
    # 跳过子目录,仅处理文件
    if not os.path.isfile(file_path):
        continue
    try:
        name_segments = image.split('_')
        # 文件名无下划线的场景直接抛出异常进入删除逻辑
        if len(name_segments) < 2:
            raise ValueError
        gender = int(name_segments[1])
        genders.append(gender)
    except ValueError:
        # 捕获所有无效文件名场景,直接删除文件
        os.remove(file_path)

实现逻辑说明

  • 修正了原代码的缩进错误,将genders.append移入循环内且仅在转换成功时执行,避免无效值加入列表
  • 补充了文件类型校验,避免误删Face目录下的子文件夹
  • 覆盖两类无效场景:文件名无下划线、下划线后无有效数字,所有异常仅作用于单次循环,不会中断整体遍历
  • 构造文件完整路径后再执行删除操作,避免相对路径导致的文件找不到问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 03:18:05