Listar archivos
Jose Luis Dominguez NONLILLY
DOMINGUEZ_JOSE_LUIS_NONLILLY en LILLY.COM
Mie Abr 26 16:44:01 CEST 2006
Hola a todos.
He realizado un programa para que me borre todos los archivos menos los
que tengan "*.cpp y *.h"
El scrip funciona pero no me acaba de gustar la solución que implementé.
Para distinguir entre lo que son archivos y directororios he usado
os.stat() y luego miraba el campo que indica el tamaño.
Aquí está el código
# -*- coding: cp1252 -*-
import os
ignorar =[".cpp", ".h", ".py"]
def borrado(arg, dirname, names):
dir = os.getcwd()
os.chdir(dirname)
try:
for fi in os.listdir("."):
borrar=True
for ig in ignorar:
if not fi.find(ig)==-1:
print "No se borra", fi
borrar=False
if borrar:
#Se comprueba que es un fichero
st=os.stat(fi) #Se obtienen las estadísticas
if (st[6]>0): #Se compara el tamaño
#os.remove(fi)
print "borrando",fi
os.remove(fi)
finally:
os.chdir(dir)
#os.path.walk('.',borrado,None)
Como se podría hacer una solución algo más profesional.
Además el algorimo falla si el archivo contiene .h o .cpp por el medio y
no como extension
No borra el documento "prueba.h.old"
Muchas gracias a todos
Más información sobre la lista de distribución Python-es