Quiero encontrar rápidamente el tamaño total de cualquier carpeta usando python.obteniendo muy rápidamente el tamaño total de la carpeta
import os
from os.path import join, getsize, isfile, isdir, splitext
def GetFolderSize(path):
TotalSize = 0
for item in os.walk(path):
for file in item[2]:
try:
TotalSize = TotalSize + getsize(join(item[0], file))
except:
print("error with file: " + join(item[0], file))
return TotalSize
print(float(GetFolderSize("C:\\")) /1024 /1024 /1024)
Esa es la simple script que escribí para obtener el tamaño total de la carpeta, se tardó alrededor de 60 segundos (+ -5 segundos). Al usar multiprocesamiento, lo reduje a 23 segundos en una máquina de cuatro núcleos.
Usando el explorador de archivos de Windows solo toma ~ 3 segundos (clic derecho-> propiedades para verlo). Entonces, ¿hay una manera más rápida de encontrar el tamaño total de una carpeta cerca de la velocidad que windows puede hacerlo?
Windows 7, python 2.6 (Realicé búsquedas pero la mayoría de las veces las personas usaban un método muy similar al mío) Gracias de antemano.
El código presentado no es válido.¿Podría publicar un ejemplo completo y mínimo que realmente haya ejecutado? – bignose
Disculpe, solo tenía la función antes, el resto está editado en. – user202459
relacionado: [Cálculo de un tamaño de directorio usando Python?] (Http://stackoverflow.com/questions/1392413/calculating-a-directory-size- using-python) – jfs