pyhton递归文件夹

有时候,我们需要获取某个目录下所有的文件以及取得文件的大小,并计算出总大小。

首先,需要导入python的os模块。

1.使用os.listdir()获取路径的文件列表

2.在不同的操作系统中,路径地址格式会不同,使用os.path.join()拼接成有效的文件路径

3.判断路径是否是目录os.path.isdir()

4.通过os.path.getsize()获取当前文件的大小

5.思路是首先获取当前路径下,所有的文件及文件夹。循环过程中判断当前路径是目录还是文件,若是目录则调用函数本身。否则为文件,打印文件名及文件大小,并将文件大小累加到全局变量中

import os
sPath = 'e:\\python'
totalSize = 0
def getFileSize(xPath):    
    dirList = os.listdir(xPath)
    for filename in dirList:
        curPath = os.path.join(xPath,filename)
        if os.path.isdir(curPath):
            getFileSize(curPath)
        else:          
            size = os.path.getsize(curPath)
            print(curPath,'size:'+ str(size))
            global totalSize
            totalSize = totalSize + size

getFileSize(sPath)
print('totalSize:'+ str(totalSize))

输出结果:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章