有时候,我们需要获取某个目录下所有的文件以及取得文件的大小,并计算出总大小。
首先,需要导入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))
输出结果: