एक निर्देशिका का आकार प्राप्त करने के लिए, आपको संपूर्ण निर्देशिका ट्री पर चलना होगा और प्रत्येक फ़ाइल का आकार जोड़ना होगा। ऐसा करने के लिए आप 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 OSes पर हैं तो आप सबप्रोसेस मॉड्यूल का उपयोग करके बस du कमांड को कॉल कर सकते हैं क्योंकि यह ऊपर दिए गए तरीके से बहुत आसान है।
उदाहरण के लिए,
import subprocess
path = '.'
size = subprocess.check_output(['du','-sh', path]).split()[0].decode('utf-8')
print("Directory size: " + size) आउटपुट
किसी भी प्रोग्राम को चलाने से आउटपुट मिलेगा:
Directory size: 1524664