La secuencia de comandos de Python para recorrer todos los archivos en el directorio, eliminar cualquiera que tenga un tamaño inferior a 200 KB

Quiero eliminar todos los archivos de una carpeta cuyo tamaño sea inferior a 200 KB.

Solo quiero estar seguro aquí, cuando hago un ls -la en mi macbook, el tamaño del archivo dice 171 o 143, ¿asumo que esto es kb correcto?

Esto hace directorio y todos los subdirectorios:

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) 

O:

 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) 

También puedes usar find

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

También podrías usar

 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 

Generalmente ls -la está en bytes.

Si lo desea en forma “legible para humanos”, use el comando ls -alh .