SoloCodigo
Programación Web y Scripting => Python => Mensaje iniciado 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
-
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)
-
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
-
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.
-
$francisco muchas gracias por tu ayuda, voy a retomarlo en breve y te contaré como me ha ido.
Gracias nuevamente
-
Vale, ya me contaras, si necesitas mas ayuda me lo dices, bueno cuentame como quedo tu codigo jeje.