Comment calculer la taille des répertoires en Python : une comparaison des méthodes

Susan Sarandon
Libérer: 2024-11-01 14:03:02
original
955 Les gens l'ont consulté

How to Calculate Directory Sizes in Python: A Comparison of Methods

Calcul de la taille d'un répertoire avec Python

Avant de se lancer dans une implémentation personnalisée, il vaut la peine d'explorer si les solutions existantes peuvent rationaliser la tâche de déterminer la taille d'un répertoire.

Solution proposée à l'aide d'os.walk

La routine Python suivante parcourt habilement les sous-répertoires et accumule les tailles de chaque fichier :

<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)
            # Skip symbolic links
            if not os.path.islink(fp):
                total_size += os.path.getsize(fp)
    return total_size

print(get_size(), 'bytes')</code>
Copier après la connexion

One-Liner alternative utilisant os.listdir

Pour une approche plus rapide et plus simple qui exclut les sous-répertoires, envisagez la one-liner suivante :

<code class="python">import os
sum(os.path.getsize(f) for f in os.listdir('.') if os.path.isfile(f))</code>
Copier après la connexion

Références et optimisations supplémentaires

Pour plus d'informations, reportez-vous aux ressources suivantes :

  • os.path.getsize : acquiert la taille des fichiers en octets
  • os.path.islink : Détecte les liens symboliques
  • os.path.stat().st_size : Une méthode alternative de récupération de taille de fichier
  • Le package scandir : Offre une méthode efficace méthode walk
  • Le module pathlib : Pour une solution plus concise et polyvalente

En optant pour du code préexistant, vous pouvez accélérer votre processus de développement tout en garantissant l'exactitude du calcul de la taille des répertoires.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!