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

Python如何统计二维列表中指定前缀本地路径的文件总大小

统计segment_upload_list本地文件总大小实现方案

问题分析

你当前的代码totalsize = sum([os.stat(f).st_size for f in segment_upload_list[0]])存在两个核心问题:

  • segment_upload_list[0]仅会读取二维列表的第一个子元素,完全没有遍历所有文件条目
  • 没有做路径前缀过滤,甚至会把子列表中存储的远端非本地路径传入os.stat,极易触发文件不存在的报错

你的segment_upload_list是二维列表结构,每个子列表固定为[本地文件路径, 远端存储路径]格式,需要遍历所有子列表,提取第一个元素的本地路径,匹配前缀后再统计大小。

实现代码

基础版本(无容错)

适合确定所有匹配前缀的文件都存在的场景:

import os

# 定义本地路径前缀常量
TARGET_PREFIX = "/tmp/VODProcessing/"
totalsize = sum(
    os.stat(item[0]).st_size
    for item in segment_upload_list
    if item[0].startswith(TARGET_PREFIX)
)

注:这里用生成器表达式而非列表推导式,不需要先生成完整的大小列表再求和,大数量场景下内存占用更低。

容错版本

如果存在路径匹配但文件实际缺失的场景,可以增加文件存在性判断避免程序中断:

import os

TARGET_PREFIX = "/tmp/VODProcessing/"
totalsize = 0

for item in segment_upload_list:
    local_path = item[0]
    # 同时满足前缀匹配、是真实存在的文件才统计
    if local_path.startswith(TARGET_PREFIX) and os.path.isfile(local_path):
        totalsize += os.stat(local_path).st_size

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 06:18:22