方法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)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。