2010-10-16 5 views

Répondre

57

Ce répertoire fait 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) 
-2

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

Si vous le souhaitez sous forme "lisible par l'homme", utilisez la commande ls -alh.

31

vous pouvez également utiliser find

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

c'est une question concernant python, la réponse doit rester dans le même domaine – unixo

28

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 
Questions connexes