Python – Calcula Almacenamiento

Lenguaje: Python
Categoría: POC
Cubre: Condicionales, If, division, entera, modulo, división entera, módulo
Nombre:  calcula_almacenamiento.py
Repositorio:  https://github.com/carlosgbr/python0/blob/master/calcula_almacenamiento.py
Compilado en: OnlineGdb

Enunciado

Si un sistema de archivos tiene un tamaño de bloque de 4096 bytes, esto significa que un archivo compuesto por un solo byte seguirá usando 4096 bytes de almacenamiento. Un archivo compuesto por 4097 bytes usará 4096 * 2 = 8192 bytes de almacenamiento. Sabiendo esto, ¿Puede completar los espacios en la función calcula_almacenamiento a continuación, que calcula el tamaño de almacenamiento necesario para un tamaño de archivo determinado?

Código fuente

""" Funciones y condicionales: calcula_almacenamiento.py
  Por about.me/carlosgbr
  Versión 1
  Para Python 3.0 y superior
  Se ilustra el uso de funciones y la estructura if en Python
"""
def calcula_almacenamiento(tamanoarchivo):
    tamano_bloque = 4096
    # Use la división de piso para calcular cuántos bloques están completamente ocupados
    bloques_completos = tamanoarchivo // tamano_bloque
    # Use el operador de módulo para verificar si hay algún resto
    residuo_parcial_bloque = tamanoarchivo % tamano_bloque
    # Dependiendo de si hay un resto o no, devuelva el número correcto.
    if residuo_parcial_bloque > 0:
        return bloques_completos * tamano_bloque + tamano_bloque
    return bloques_completos * tamano_bloque
print(calcula_almacenamiento(1))    # Debiera ser 4096
print(calcula_almacenamiento(4096)) # Debiera ser 4096
print(calcula_almacenamiento(4097)) # Debiera ser 8192
print(calcula_almacenamiento(6000)) # Debiera ser 8192

Salida del programa

Uso de División entera en Python

Notas

Ninguna

Informar de errores

Si encuentras algún error o aporte a la información proporcionada por favor dirígela a soporte@ehack.mx

Otras consideraciones

Si deseas que desarrollemos un ejemplo en particular, escríbelo en los comentarios.

Referencias


Fuente Imágenes:

Imágenes cortesía by Nala Systems

POC - Python by Roberto C. González para Ethical Hack
© 2020, Ethical Hack
eHack

Entradas recientes

dnsenum

El comando dnsenum es una herramienta de línea de comandos para realizar enumeración de DNS…

1 año hace

Las 24 listas negras de IPv4 más comunes.

En esta entrada te presento 24 de las listas negras más comunes que los servidores…

2 años hace

ZoomIt – SysInternals

ZoomIt es una herramienta de anotación y zoom de pantalla para presentaciones técnicas que incluyen…

2 años hace

WinObj – SysInternals

WinObj es el visor de espacios de nombres de Object Manager definitivo. Es la primera…

2 años hace

WhoIs – SysInternals

Whois realiza el registro de registro para el nombre de dominio o la dirección IP…

2 años hace

VolumeID – SysInternals

VolumeID – Esta utilidad, le permite cambiar los identificadores de los discos FAT y NTFS…

2 años hace