Voglio trovare rapidamente la dimensione totale di qualsiasi cartella utilizzando python.molto rapidamente ottenere dimensioni totali della cartella
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)
Questo è il semplice script che ho scritto per ottenere la dimensione totale della cartella, ci sono voluti circa 60 secondi (+ -5 secondi). Usando il multiprocessing l'ho ridotto a 23 secondi su una macchina quad-core.
Utilizzo di Esplora file di Windows richiede solo ~ 3 secondi (clic destro-> proprietà per vedere di persona). Quindi c'è un modo più veloce di trovare la dimensione totale di una cartella vicina alla velocità che Windows può fare?
Windows 7, python 2.6 (Le ricerche ma la maggior parte delle volte le persone hanno utilizzato un metodo molto simile al mio) Grazie in anticipo.
Il codice presentato non è valido.Potresti pubblicare un esempio completo e minimale che hai effettivamente eseguito? – bignose
Siamo spiacenti, aveva solo la funzione precedente, il resto è modificato in. – user202459
correlati: [Calcolo di una dimensione di directory usando Python?] (Http://stackoverflow.com/questions/1392413/calculating-a-directory-size- using-python) – jfs