2010-10-16 2 views

Antwort

57

Dies tut Verzeichnis und alle Unterverzeichnisse:

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) 

Oder:

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

Im Allgemeinen ist ls -la in Bytes.

Wenn Sie es in "lesbarer" Form möchten, verwenden Sie den Befehl ls -alh.

31

Sie auch find

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

es ist eine Frage Python in Bezug auf, sollte die Antwort bleibt in der gleichen Domäne verwenden können – unixo

28

Sie könnten auch verwenden

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 
Verwandte Themen