Python:递归计算文件夹和子文件夹中的所有文件类型和大小

2024-04-25 17:10:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试按类型和所有大小计算目录和任何子目录中的所有文件

输出应该是一个如下所示的表:

Directory A             
Number of subdirectories: 12    

|Type|  Count|  TotalSize/kb    |FirstSeen  |LastSeen  |
|----|-------|------------------|-----------|----------|
|.pdf|  8    |80767             |1/1/2020   |2/20/2020 | 
|.ppt|  9    |2345              |1/5/2020   |2/25/2020 |
|.mov|  2    |234563            |1/10/2020  |3/1/2020  | 
|.jpg|  14   |117639            |1/15/2020  |3/5/2020  |
|.doc|  5    |891               |1/20/2020  |3/10/2020 |

抱歉,为了便于阅读,我试图将其转换为表格格式。但每个记录都以目录中的文件类型开始


Tags: 文件of目录numberkbpdftypecount
1条回答
网友
1楼 · 发布于 2024-04-25 17:10:47

这应该完全符合您的要求,计算扩展映射的大小。整理一下,按你喜欢的方式打印,你就完成了

import os

def scan_dir(root_dir):
    # walk the directory
    result = {}
    for root, dirs, files in os.walk(root_dir):
        # count the files size
        for file in files:
            path = os.path.join(root, file)
            ext = os.path.splitext(file)[1].upper()
            size = os.stat(path).st_size
            result[ext] = (result[ext] if ext in result else 0) + size
    return result

print(scan_dir("."))

编辑:这不会为您收集最小/最大时间戳,也不会统计文件,但这确实会让您走上正确的轨道

相关问题 更多 >