python基础 -- os模块

获取指定文件夹的大小:

方法1:使用递归:

复制代码
import os
def  getTotalSize(path):
    sumSize = 0
    if os.path.isdir(path):
        dirList = os.listdir(path)
        for dir in dirList:
            if os.path.isdir(os.path.join(path, dir)):
                sumSize += getTotalSize(os.path.join(path, dir))
            else:
                sumSize += os.path.getsize(os.path.join(path, dir))
        return sumSize
    elif os.path.isfile(path):
        return os.path.getsize(path)
    else:
        print("not valid path")
复制代码

方法2: 使用循环列表

复制代码
import os
def getTotalSizeByXH(path):
    if os.path.isdir(path):
        sumSize = 0
        listdir = [os.path.join(path, dir) for dir in os.listdir(path)]
        print("listdir", listdir)
        while listdir:
            subDir = listdir.pop(-1)
            print("subDir", subDir)
            if os.path.isdir(subDir):
                listdir.extend([os.path.join(subDir, dir) for dir in os.listdir(subDir)])
            else:
                sumSize+=os.path.getsize(subDir)
        return sumSize
    elif os.path.isfile(path):
        return os.path.getsize(path)
    else:
        print("%s, 该路径非法" %path)
复制代码

 

posted @   往昔遗忘  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示