|
|
 |
| Re: Creare un backup su dvd |
|
 |
|
 |
|
 |
|
 |
Author: Matteo Date: May 22, 2008 06:07
Non so se possa essere collegato alle difficoltà di sviluppo del
programma ma ho notato una cosa strana. Con la sorgente che posterò
successivamente, prima mi dice correttamente che il numero di elementi
della lista è 270 (il numero di directory della cartella sulla quale sto
provando), poi mi elenca solo la metà di questi elementi (135) e
"correttamente" poi mi dice che ci sono altri 135 elementi in lista.
Ma il ciclo for non dovrebbe andare fino alla fine?
import os
import sys
# Ottiene la dimensione della cartella
def calcDirSize(arg, dir, files):
for file in files:
stats = os.stat(os.path.join(dir, file))
size = stats[6]
arg.append(size)
# Ritorna la dimensione della cartella
def getDirSize(dir):
sizes = []
os.path.walk(dir, calcDirSize, sizes)
return round(sum(sizes)/1048576.0, 2)
# Cartella di cui si vuole creare il backup
backupfolder = sys.argv[1]
# Ottiene la lista delle sottocartelle di primo livello
listacartelle = os.listdir(backupfolder)
# Crea una lista vuota che conterra' le sottocartelle e le dimensioni
Cartelle_Dimensioni = []
# Ottiene la dimensione di ogni sottocartella
for cartella in listacartelle:
dir = os.path.join(backupfolder, cartella)
size = getDirSize(dir)
posizione = len(Cartelle_Dimensioni)
Cartelle_Dimensioni.append([size,cartella])
# Ordina le sottocartelle secondo la dimensione in ordine crescente
Cartelle_Dimensioni.sort()
Cartelle_Dimensioni.reverse()
# Imposta dimensioni del dvd
Spaziorimasto = 4480
i = 0
print len(Cartelle_Dimensioni)
# Crea la lista di cartelle per dvd
#while i < len(Cartelle_Dimensioni) :
for size, cartella in Cartelle_Dimensioni:
print i, cartella, size
del Cartelle_Dimensioni[i]
i = i + 1
print
print len(Cartelle_Dimensioni)
print 'Processo Completo'
|
|
|
|
|
|
RELATED THREADS |
  |
|
|
|
|