Python Script para cambiar el nombre de un archivo a su marca de tiempo

Una marca de tiempo digital es una secuencia de caracteres (generalmente una combinación de dígitos y delimitadores), que identifica la hora en que ocurrió un determinado evento. En informática, las marcas de tiempo se utilizan generalmente para marcar el momento de la creación de una entidad virtual, pero no se limitan a esto en su caso de uso. Las marcas de tiempo digitales se implementan en varios estándares, cada uno de los cuales favorece un caso de uso particular. es decir, algunos estándares utilizan marcas de tiempo menos precisas (solo almacenan la fecha del evento), algunos estándares codifican la información de la zona horaria en la marca de tiempo. Pero la sintaxis base de la marca de tiempo sigue siendo en gran medida la misma entre los estándares, lo que evita la alienación y brinda flexibilidad para elegir uno. 

En este artículo, aprenderemos cómo obtener la fecha de creación de un archivo y la usaremos para crear una marca de tiempo ISO 8601 . Que se usaría para nombrar el archivo.

Funciones utilizadas:

Archivo antes de cambiar el nombre:

Python3

import time
import os
  
  
# Getting the path of the file
f_path = "/location/to/gfg.png"
  
# Obtaining the creation time (in seconds)
# of the file/folder (datatype=int)
t = os.path.getctime(f_path)
  
# Converting the time to an epoch string
# (the output timestamp string would
# be recognizable by strptime() without
# format quantifers)
t_str = time.ctime(t)
  
# Converting the string to a time object
t_obj = time.strptime(t_str)
  
# Transforming the time object to a timestamp
# of ISO 8601 format
form_t = time.strftime("%Y-%m-%d %H:%M:%S", t_obj)
  
# Since colon is an invalid character for a
# Windows file name Replacing colon with a
# similar looking symbol found in unicode
# Modified Letter Colon " " (U+A789)
form_t = form_t.replace(":", "꞉")
  
# Renaming the filename to its timestamp
os.rename(
    f_path, os.path.split(f_path)[0] + '/' + form_t + os.path.splitext(f_path)[1])

Archivo después de cambiar el nombre:

Cosas a tener en cuenta al usar el código anterior:

  • Este código es para el sistema operativo Windows. Para sistemas operativos que no sean Windows, los usuarios pueden omitir la declaración form_t = form_t.replace(“:”, “꞉”) , ya que solo se requiere en Windows ya que el sistema operativo no permite dos puntos como nombre de archivo. Para su uso en otros sistemas operativos, la última declaración ( os.rename()) también debe modificarse en consecuencia.
  • El argumento de strftime() , “%Y-%m-%d %H:%M:%S” es un especificador de formato. Esto se usa para guiar la salida de strftime(). Este especificador de formato podría cambiarse para adaptarlo a la sintaxis de otros estándares de marca de tiempo.
  • os.path.split(f_path)[0] en la última declaración es para obtener la ruta a la raíz (directorio principal) del archivo.
  • os.path.splitext(f_path)[1] es para agregar la extensión de archivo (si corresponde) del archivo original a la marca de tiempo

Publicación traducida automáticamente

Artículo escrito por VasuDev4 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *