Una marca de tiempo es una secuencia de caracteres que significan la ocurrencia de un evento. Las marcas de tiempo se requieren ampliamente en informática. Esto existe con precisión y exactitud variable, es decir, algunas marcas de tiempo tienen una precisión de hasta milisegundos para la ocurrencia del evento, mientras que otras no. Esto permite que existan marcas de tiempo de diferentes formas (y estándares). En este artículo, veremos métodos para encontrar las marcas de tiempo de creación y modificación de un archivo en Python . Usaremos el archivo con las siguientes propiedades para la demostración.
Método 1: obtenga la fecha u hora de creación y modificación de archivos en Python usando el módulo de tiempo
Usaremos las funciones getctime() y getmtime() que se encuentran dentro del módulo de ruta en la biblioteca os, para obtener los tiempos de creación y modificación del archivo. Las dos funciones anteriores devuelven el tiempo en segundos desde EPOCH (00:00:00 UTC del 1 de enero de 1970) (el tiempo es de tipo de datos flotante). Dado que ese número no se parece a una marca de tiempo comprensible, tendríamos que convertir ese tiempo, es decir, se vuelve reconocible. Para ese propósito, estaríamos usando la función ctime() que se encuentra dentro de la biblioteca de tiempo.
Ejemplo 1: convertir el tiempo en segundos en una marca de tiempo
La marca de tiempo del código anterior tiene los siguientes calificadores de formato:
[Día](3) [Mes](3) [día](2) [Horas:Minutos:Segundos](8) [Año](4)
Python3
import os import time # Path to the file/directory path = r"myfile.txt" # Both the variables would contain time # elapsed since EPOCH in float ti_c = os.path.getctime(path) ti_m = os.path.getmtime(path) # Converting the time in seconds to a timestamp c_ti = time.ctime(ti_c) m_ti = time.ctime(ti_m) print( f"The file located at the path {path} was \ created at {c_ti} and was last modified at {m_ti}")
Producción:
The file located at the path myfile.txt was created at Mon Jun 27 14:16:30 2022 and was last modified at Thu Jul 7 16:25:52 2022
Donde la palabra dentro del paréntesis es la señal de lo que se muestra, y el número que le sigue dentro del paréntesis muestra la longitud que ocupará.
Ejemplo 2: Marca de tiempo en formato ISO 8601
De forma predeterminada, la función ctime() devolvería una marca de tiempo de la sintaxis mencionada anteriormente. Para cambiarlo, tendríamos que pasarlo a la función strptime() (que también se encuentra dentro de la biblioteca de tiempo) para crear una estructura de tiempo (objeto) a partir de él. Luego podemos pasar especificadores de formato a strftime() , para crear una marca de tiempo personalizada a partir de la estructura de tiempo. En el siguiente código, obtendremos la hora de modificación del mismo archivo en formato de marca de tiempo ISO 8601 .
Python3
import os import time path = r"myfile.txt" ti_m = os.path.getmtime(path) m_ti = time.ctime(ti_m) # Using the timestamp string to create a # time object/structure t_obj = time.strptime(m_ti) # Transforming the time object to a timestamp # of ISO 8601 format T_stamp = time.strftime("%Y-%m-%d %H:%M:%S", t_obj) print(f"The file located at the path {path} was last modified at {T_stamp}")
Producción:
The file located at the path myfile.txt was last modified at 2022-07-07 16:25:52
Método 2: obtenga la fecha u hora de creación y modificación de archivos en Python usando el módulo DateTime
El módulo Python Datetime proporciona clases para trabajar con fecha y hora. Estas clases proporcionan numerosas capacidades para manejar fechas, horas e intervalos de tiempo. Python trata la fecha y la fecha y la hora como objetos, por lo que cuando trabaja con ellos, en realidad está trabajando con objetos en lugar de strings o marcas de tiempo.
Ejemplo 1: uso de os.path.getmtime
El módulo os.path de Python, un submódulo del módulo OS, se usa para manipular nombres de rutas comunes. El método os.path.getmtime() de Python se puede usar para determinar cuándo se modificó por última vez la ruta dada.
Python3
import datetime import os path = r"myfile.txt" # file modification timestamp = os.path.getmtime(path) # convert timestamp into DateTime object datestamp = datetime.datetime.fromtimestamp(timestamp) print('Modified Date/Time:', datestamp) # file creation c_timestamp = os.path.getctime(path) # convert creation timestamp into DateTime object c_datestamp = datetime.datetime.fromtimestamp(c_timestamp) print('Created Date/Time on:', c_datestamp)
Producción:
Modified Date/Time: 2022-07-07 16:25:52.490759 Created Date/Time on: 2022-06-27 14:16:30.123721
Ejemplo 2: Uso de pathlib.Path
El módulo os.path es un submódulo del módulo OS en Python utilizado para la manipulación de nombres de rutas comunes. Devuelve un objeto de resultado os.stat, similar a os.stat, que contiene detalles sobre esta ruta(). Cada vez que se llama a este método, se comprueba el resultado.
Python3
import datetime import pathlib # create a file path path = pathlib.Path(r'myfile.txt') # get modification time timestamp = path.stat().st_mtime # convert time to dd-mm-yyyy hh:mm:ss m_time = datetime.datetime.fromtimestamp(timestamp) print('Modified Date/Time:', m_time) # get creation time on windows current_timestamp = path.stat().st_ctime c_time = datetime.datetime.fromtimestamp(current_timestamp) print('Created Date/Time on:', c_time)
Producción:
Modified Date/Time: 2022-07-07 16:25:52.490759 Created Date/Time on: 2022-06-27 14:16:30.123721