SoloCodigo

Programación Web y Scripting => Python => Mensaje iniciado por: kanjid en Viernes 7 de Diciembre de 2012, 20:23

Título: tratamiento de nombres de fichero con Python
Publicado por: kanjid en Viernes 7 de Diciembre de 2012, 20:23
Hola a todos, esta es mi primera vez por aquí, espero que me puedan ayudar.

Estoy empezando con Python y la verdad es que lo encuentro muy interesante como lenguaje para aprender. Estoy todavía muy verde y por ello quiero seguir aprendiendo a base de codear. Se me ha planteado una duda bastante grande sobre como tratar los nombres de archivo ya que lo que necesito es que dentro de una lista de ficheros de varias extensiones p.ej. "txt", "html" y "jpg" estos se guarden en sus correspondientes carpetas. Bien hasta aquí lo tengo controlado, pero mi gran  duda es lo siguiente: esta lista de archivos tiene un formato determinado por ejemplo "aseg201212053409.txt" y necesito que se procese de alguna manera para leer la fecha del nombre del archivo y crear una carpeta en la que se guarden todos los archivos de esa misma fecha y que cuando encuentre otra fecha diferente pues cree la nueva carpeta y vuelva a guardar ahí todos los de su misma fecha correspondiente. Me gustaría que me orientaseis haber como puedo dar forma a este script.

Muchas Gracias por adelantado
Título: Re:tratamiento de nombres de fichero con Python
Publicado por: arielb en Lunes 10 de Diciembre de 2012, 20:36
Hola, bienvenido al foro.
Revisa esto http://docs.python.org/2/library/os.path.html#os.path.getmtime (http://docs.python.org/2/library/os.path.html#os.path.getmtime)
Título: Re:tratamiento de nombres de fichero con Python
Publicado por: kanjid en Jueves 13 de Diciembre de 2012, 19:48
Muchas gracias, lo he retomado y creo que me va a ser de gran ayuda tu orientación. Voy a probarlo y ya comentaré por aqui
Saludos
Título: Re:tratamiento de nombres de fichero con Python
Publicado por: $francisco en Jueves 24 de Enero de 2013, 15:57
Código: [Seleccionar]
import os,datetime,re

#pon la direccion de tu carpeta por ejemplo: C:\\
direccion_carpeta = raw_input("direccion carpeta \n\n>>>")
fechas = []
for n in os.listdir(direccion_carpeta):
    s = os.path.splitext(n)
    if s[1] == '':
        pass
    else:
        directorio = direccion_carpeta+n
        f = os.path.getmtime(directorio)
        date = str(datetime.datetime.fromtimestamp(f))
        date_2 = re.findall(r'([\d]+)',date)
        resultado = str(date_2[0]+"-"+date_2[1]+"-"+date_2[2])
        fechas.append(resultado)
       
print fechas

aquí te dejo un poco de código que logre hacer, solo te queda crear las carpetas y después ver si los archivos tienen la misma fecha que el nombre de la carpeta y moverlos allí con el modulo shutil xd espero haberte ayudado.
Título: Re:tratamiento de nombres de fichero con Python
Publicado por: kanjid en Jueves 31 de Enero de 2013, 18:08
$francisco muchas gracias por tu ayuda, voy a retomarlo en breve y te contaré como me ha ido.

Gracias nuevamente

Título: Re:tratamiento de nombres de fichero con Python
Publicado por: $francisco en Viernes 8 de Febrero de 2013, 16:36
Vale, ya me contaras, si necesitas mas ayuda me lo dices, bueno cuentame como quedo tu codigo jeje.