Calcul de la taille d'un répertoire avec Python : dévoilement d'une solution complète
Estimer la taille d'un répertoire est une tâche courante en programmation. Python, avec sa bibliothèque standard robuste, propose diverses approches pour résoudre ce problème.
Une méthode utilise la fonction os.walk(). Il parcourt l'arborescence des répertoires, accumule la taille des fichiers et affiche le résultat dans un format lisible par l'homme :
<code class="python">import os def get_size(start_path='.'): total_size = 0 for dirpath, dirnames, filenames in os.walk(start_path): for f in filenames: fp = os.path.join(dirpath, f) if not os.path.islink(fp): total_size += os.path.getsize(fp) return total_size print(get_size(), 'bytes')</code>
Alternativement, une approche plus concise utilisant os.listdir() exclut les sous-répertoires :
<code class="python">import os sum(os.path.getsize(f) for f in os.listdir('.') if os.path.isfile(f))</code>
Pour des informations plus détaillées, os.stat() propose à la fois des statistiques sur les fichiers et les répertoires. L'attribut st_size fournit la taille du fichier en octets :
<code class="python">import os nbytes = sum(d.stat().st_size for d in os.scandir('.') if d.is_file())</code>
Les versions récentes de Python incluent le module pathlib. Sa solution combine les fonctionnalités d'os et d'os.path :
<code class="python">from pathlib import Path root_directory = Path('.') sum(f.stat().st_size for f in root_directory.glob('**/*') if f.is_file())</code>
Ces techniques quantifient efficacement la taille du répertoire en Python. Qu'ils sélectionnent os.walk, os.listdir, os.stat ou pathlib, les programmeurs peuvent choisir la méthode la plus appropriée en fonction de leurs besoins.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!