Maison  >  Article  >  développement back-end  >  Comment puis-je calculer la taille d’un répertoire à l’aide de Python ?

Comment puis-je calculer la taille d’un répertoire à l’aide de Python ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-02 14:37:29774parcourir

How Can I Calculate Directory Size Using Python?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn