31 votes

Python script pour parcourir en boucle tous les fichiers du répertoire et supprimer ceux dont la taille est inférieure à 200 kB.

Je veux supprimer tous les fichiers d'un dossier dont la taille est inférieure à 200 kB.

Je veux juste être sûr, quand je fais un ls -la sur mon macbook, la taille du fichier dit 171 ou 143, je suppose que c'est kb correct ?

58voto

hughdbrown Points 15770

Cela fait le répertoire et tous les sous-répertoires :

import os, os.path

for root, _, files in os.walk(dirtocheck):
    for f in files:
        fullpath = os.path.join(root, f)
        if os.path.getsize(fullpath) < 200 * 1024:
            os.remove(fullpath)

Ou :

import os, os.path

fileiter = (os.path.join(root, f)
    for root, _, files in os.walk(dirtocheck)
    for f in files)
smallfileiter = (f for f in fileiter if os.path.getsize(f) < 200 * 1024)
for small in smallfileiter:
    os.remove(small)

31voto

ghostdog74 Points 86060

Vous pouvez également utiliser find

find /path -type f -size -200k -delete

28voto

Alan Points 1636

Vous pouvez également utiliser

import os    

files_in_dir = os.listdir(path_to_dir)
for file_in_dir in files_in_dir:
    #do the check you need on each file

-2voto

Thomas Points 2295

Généralement ls -la est en octets.

Si vous voulez qu'il soit sous une forme "lisible par l'homme", utilisez la commande ls -alh .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X