เพื่อหาขนาดของไดเรกทอรี ต้องเดินผ่านโครงสร้างไดเรกทอรีทั้งหมด (walk the directory tree) และบวกขนาดของแต่ละไฟล์ ใช้ os.walk() และ os.path.getsize()
ตัวอย่าง
import os
total_size = 0
start_path = '.' # ขนาดของไดเรกทอรีปัจจุบัน
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 ผ่าน subprocess ซึ่งง่ายกว่า:
ตัวอย่าง
import subprocess
path = '.'
size = subprocess.check_output(['du', '-sh', path]).split()[0].decode('utf-8')
print("Directory size: " + size)
ผลลัพธ์
Directory size: 1524664