¿Cómo obtener la fecha u hora de creación y modificación de archivos en Python?

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

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 *