Cómo obtener el tamaño de un archivo en Python
Cómo obtener el tamaño de un archivo en Python.
Aquí tienes un tutorial detallado paso a paso sobre cómo obtener el tamaño de un archivo en Python.
Paso 1: Importar los módulos necesarios
Para empezar, necesitamos importar el módulo os, que proporciona una forma de interactuar con el sistema operativo. Este módulo contiene funciones para trabajar con archivos y directorios.
import os
Paso 2: Especificar la ruta del archivo
A continuación, debemos especificar la ruta del archivo del cual queremos determinar el tamaño. Puedes proporcionar la ruta absoluta (por ejemplo, C:/ruta/al/archivo.txt) o la ruta relativa (por ejemplo, archivo.txt si se encuentra en el mismo directorio que tu script de Python).
ruta_archivo = 'ruta/hacia/tu/archivo.txt'
Paso 3: Comprobar si el archivo existe
Antes de obtener el tamaño del archivo, es una buena práctica comprobar si el archivo realmente existe. Podemos utilizar la función os.path.exists() para hacer esto.
if os.path.exists(ruta_archivo):
print("El archivo existe.")
else:
print("El archivo no existe.")
Paso 4: Obtener el tamaño del archivo
Para obtener el tamaño del archivo, podemos utilizar la función os.path.getsize(). Esta función toma la ruta del archivo como argumento y devuelve el tamaño del archivo en bytes.
tamaño_archivo = os.path.getsize(ruta_archivo)
Paso 5: Convertir el tamaño del archivo a un formato legible por humanos
Por defecto, os.path.getsize() devuelve el tamaño del archivo en bytes. Si deseas mostrar el tamaño del archivo en un formato más amigable para el humano (por ejemplo, kilobytes o megabytes), puedes crear una función auxiliar para convertirlo.
Aquí tienes una función de ejemplo que convierte el tamaño del archivo a un formato legible:
def convertir_tamaño(bytes):
# 2**10 = 1024
if bytes == 0:
return "0B"
nombres_tamaño = ("B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB")
i = int(math.floor(math.log(bytes, 1024)))
p = math.pow(1024, i)
s = round(bytes / p, 2)
return f"{s} {nombres_tamaño[i]}"
Ahora puedes utilizar esta función para convertir el tamaño del archivo:
tamaño_legible = convertir_tamaño(tamaño_archivo)
print(f"Tamaño del archivo: {tamaño_legible}")
Ejemplo completo
Aquí tienes el código de ejemplo completo que incorpora todos los pasos mencionados anteriormente:
import os
import math
def convertir_tamaño(bytes):
# 2**10 = 1024
if bytes == 0:
return "0B"
nombres_tamaño = ("B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB")
i = int(math.floor(math.log(bytes, 1024)))
p = math.pow(1024, i)
s = round(bytes / p, 2)
return f"{s} {nombres_tamaño[i]}"
ruta_archivo = 'ruta/hacia/tu/archivo.txt'
if os.path.exists(ruta_archivo):
print("El archivo existe.")
tamaño_archivo = os.path.getsize(ruta_archivo)
tamaño_legible = convertir_tamaño(tamaño_archivo)
print(f"Tamaño del archivo: {tamaño_legible}")
else:
print("El archivo no existe.")
¡Eso es todo! Ahora tienes un tutorial detallado paso a paso sobre cómo obtener el tamaño de un archivo en Python.