Ordenando mis archivos por fecha
Hay algo que quiero hacer hace meses, y es automatizar con un script la separación de fotos por mes, así las muevo a un directorio diferente y ya.
#Moviendo archivos
#por HI7903b
import os
import shutil
from datetime import datetime
print("=== Ordena los archivos por fecha ===")
print("Arranco a rastrear qué anduvo pasando por acá...\n")
el_directorio =os.getcwd()
que_archivo = ".jpg" #esto se puede cambiar por el archivo que se desee, pero en Gopher yo pongo solo txt
mes = "07" #Acá se puede hacer un input para seleccionar el mes deseado.
lista_ordenada = []
for archivo in os.listdir (el_directorio):
if archivo.endswith(que_archivo):
encontrado = os.path.join (el_directorio, archivo)
fecha_mod = os.path.getmtime(encontrado)
fechita = datetime.fromtimestamp(fecha_mod).strftime("%Y-%m-%d")
lista_ordenada.append((fechita[5:7], encontrado))
if len(lista_ordenada) == 0:
print (f"No hay archivos en el directorio con la extensión {que_archivo}")
exit()
else:
lista_ordenada.sort()
os.makedirs(os.path.join(el_directorio, mes), exist_ok=True)
print ("Se encontraron los siguientes archivos:")
movidos = 0
for linea in lista_ordenada:
if linea[0] == mes:
origen = linea[1]
destino=el_directorio+"/"+mes
print (f"{linea[0]} == {mes}")
shutil.move (origen,destino)
print (f"Muevo foto {linea[1]} a {destino}")
movidos+=1
print (f"Se han movido al directorio {mes}: {movidos} archivos.")
Con esto lo que hago es simplemente buscar por mes (el que le asigne y que me lo ponga en un directorio aparte, para que lo pueda mover simplemente por el mes designado... Y algún día hacer copia de seguridad, ponele.