[Python-es] ordenar por extension

Daπid davidmenhur en gmail.com
Sab Ene 8 10:35:45 CET 2011


Fusilando tu propio código,


import os
ruta = "/ruta/carpeta/archivo/codigo"
for base, dirs, files in os.walk(ruta):
for file in [f for f in files if f.lower().endswith((".c", ".cpp", ".h"))]:
   dir_actual = base.split(ruta)[1]
   if dir != dir_actual:
      dir = dir_actual
      print "\nla carpeta " + dir + " contiene: \n"
   print file

for file in [f for f in files if f.lower().endswith((".cpp"))]:
   dir_actual = base.split(ruta)[1]
   if dir != dir_actual:
      dir = dir_actual
      print "\nla carpeta " + dir + " contiene: \n"
   print file

for file in [f for f in files if f.lower().endswith((".h"))]:
   dir_actual = base.split(ruta)[1]
   if dir != dir_actual:
      dir = dir_actual
      print "\nla carpeta " + dir + " contiene: \n"
   print file


También puedes intentar ordenarlos a mano. Echa un vistazo en
Numerical Recipes de William H. Press et al. para algoritmos
eficientes.


Más información sobre la lista de distribución Python-es