Python 如何计算一个目录的大小
为了得到一个目录的大小,你必须走遍整个目录树并加上每个文件的大小。要做到这一点,你可以使用os.walk()和os.path.getsize()函数。
比如说
import os
total_size = 0
start_path = '.' # To get size of current directory
for path, dirs, files in os.walk(start_path):
for f in files:
fp = os.path.join(path, f)
total_size += os.path.getsize(fp)
print("Directory size: " + str(total_size))
如果你在*NIX
操作系统上,那么你可以简单地使用子进程模块调用du命令,因为这比上面的方法要简单得多。
比如说。
import subprocess
path = '.'
size = subprocess.check_output(['du','-sh', path]).split()[0].decode('utf-8')
print("Directory size: " + size)
输出
运行这两个程序都会得到输出结果。
Directory size: 1524664