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

Linda Hamilton
Libérer: 2024-11-02 14:37:29
original
869 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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!

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