1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
| ####################################################################################
# Programme Python 3 #
# Liste fichiers.py #
# Nombre et cumul taille des fichiers dans un répertoire défini (par dossier) #
####################################################################################
# Pour un répertoire donné, le prg liste les dossiers et sous-dossiers
# en indiquant, pour chacun, le nombre de fichiers contenus et leurs tailles cumulées
#
# Un dernier affichage donne, pour le répertoire indiqué
# - le nombre total de fichiers
# - le cumul des tailles des fichiers
# - le nombre total de dossiers (y compris la racine si des fichiers ne sont pas dans des dossiers)
################################
# Importation des modules
import os
import tkinter
################################
# Définition locale des fonctions
def choixrepertoire(): # Sélection du répertoire
global rep
print ("demande rep")
rep = tkinter.filedialog.askdirectory(initialdir="/", title='Choisissez un repertoire')
if len(rep) > 0:
print ("vous avez choisi le repertoire : "+(rep))
traitementRepertoire(rep)
return
def traitementRepertoire(path): # Traitement du répertoire
repertoire = "***" # Initialisation des variables
nombrerepertoire = 0
taillerepertoire = 0
nombredossiers = 0
sousRepertoire = "***"
nombre = 0
taille = 0
for root, dirs, files in os.walk(path): # Boucle pour parcourir l'arborescence
if sousRepertoire != root : # Changement de dossier
if sousRepertoire !="***":
nombredossiers = nombredossiers + 1
print (" ***** Pour le dossier "+(sousRepertoire)+" Nombre "+str(nombre)+" taille : "+str(taille))
print (" ")
sousRepertoire = root
nombre = 0
taille = 0
for i in files: # Traitement des fichiers
nombre = nombre + 1
taillefichier = os.path.getsize(os.path.join(root, i))
taille = taille + taillefichier
taillerepertoire = taillerepertoire + taillefichier
nombrerepertoire = nombrerepertoire + 1
nombredossiers = nombredossiers + 1 # Fin, donc édition des derniers éléments
print (" ***** Pour le dossier : "+(sousRepertoire)+" nombre : "+str(nombre)+" taille : "+str(taille))
print (" ")
print ("======= Pour le répertoire "+(path))
print (" Nombre : "+str(nombrerepertoire))
print (" Taille : "+str(taillerepertoire))
print (" Nb dossiers : "+str(nombredossiers))
print (" ")
print ("TERMINE ******")
return
################################
# Corps principal du programme
fen1 = tkinter.Tk()
tex1 = tkinter.Label(fen1, text='Répertoire des sources')
tex1.pack()
rep =''
btnchoixrep = tkinter.Button(fen1, text='Choississez le répertoire SVP', command = choixrepertoire)
btnchoixrep.pack()
btnquitter = tkinter.Button(fen1, text='Quitter', command = fen1.destroy)
btnquitter.pack()
fen1.mainloop() |
Partager