Extraer información de texto de un archivo binario - Python Programming Exercise

En este ejercicio, desarrollarás un programa en Python para extraer solo los caracteres alfabéticos contenidos en un archivo binario y volcarlos en un archivo separado. Este ejercicio es perfecto para practicar el manejo de archivos, la manipulación de bytes y el procesamiento de cadenas en Python. Al implementar este programa, obtendrás experiencia práctica en el manejo de operaciones de archivos, manipulación de bytes y procesamiento de cadenas en Python. Este ejercicio no solo refuerza tu comprensión del manejo de archivos, sino que también te ayuda a desarrollar prácticas de codificación eficientes para gestionar las interacciones con el usuario. Además, este ejercicio proporciona una excelente oportunidad para explorar la versatilidad de Python en aplicaciones del mundo real. Al trabajar con el manejo de archivos, manipulación de bytes y procesamiento de cadenas, aprenderás a estructurar tu código de manera eficiente, lo cual es una habilidad crucial en muchos escenarios de programación. Este ejercicio también te anima a pensar críticamente sobre cómo estructurar tu código para la legibilidad y el rendimiento, convirtiéndolo en una valiosa adición a tu portafolio de programación. Ya seas un principiante o un programador experimentado, este ejercicio te ayudará a profundizar tu comprensión de Python y mejorar tus habilidades para resolver problemas.

 Categoría

Administrar archivos

 Ejercicio

Extraer Información De Texto De Un Archivo Binario

 Objectivo

Desarrollar un programa en Python para extraer únicamente los caracteres alfabéticos contenidos en un archivo binario y volcarlos en un archivo aparte. Los caracteres extraídos deben ser aquellos cuyo código ASCII esté entre 32 y 127, o sea igual a 10 (nueva línea) o 13 (retorno de carro).

 Ejemplo de ejercicio de Python

 Copiar código Python
# Python program to extract alphabetic characters from a binary file and dump them into a separate file

def extract_alphabetic_characters(input_file_path, output_file_path):
    try:
        # Open the input binary file in read mode
        with open(input_file_path, 'rb') as input_file:
            # Open the output text file in write mode
            with open(output_file_path, 'w') as output_file:
                # Read the binary file byte by byte
                byte = input_file.read(1)
                
                # Process each byte
                while byte:
                    # Convert byte to integer (ASCII value)
                    ascii_value = ord(byte)
                    
                    # Check if the byte is a printable ASCII character, newline, or carriage return
                    if (32 <= ascii_value <= 126) or ascii_value in [10, 13]:
                        # Write the valid character to the output file
                        output_file.write(byte.decode('ascii', errors='ignore'))
                    
                    # Read the next byte
                    byte = input_file.read(1)
                
                print(f"Alphabetic characters have been extracted and saved to '{output_file_path}'.")
    
    except FileNotFoundError:
        print(f"Error: The file '{input_file_path}' was not found.")
    except Exception as e:
        print(f"Error: {str(e)}")

# Example usage
extract_alphabetic_characters('input_file.bin', 'output_file.txt')

 Output

Example Input (input_file.bin):

Hello, World! This is a test.
12345!@#$%^&*()_+[]{}|;:,.<>?/
Some binary content: \x01\x02\x03

Newline character follows:

This is another line.
Example Output (output_file.txt):

Hello, World! This is a test.
12345!@#$%^&*()_+[]{}|;:,.<>?/

Some binary content: 

Newline character follows:

This is another line.

Error Scenarios:

File Not Found:

Error: The file 'input_file.bin' was not found.

General Errors:

Error: Error message

 Comparte este ejercicio de Python

 Más Ejercicios Programación Python de Administrar archivos

¡Explora nuestro conjunto de ejercicios de programación Python! Estos ejercicios, diseñados específicamente para principiantes, te ayudarán a desarrollar una sólida comprensión de los conceptos básicos de Python. Desde variables y tipos de datos hasta estructuras de control y funciones simples, cada ejercicio está diseñado para desafiarte de manera gradual a medida que adquieres confianza en la codificación en Python.

  •  Vertedero

    En este ejercicio, desarrollarás un programa en Python para crear una utilidad de "volcado": un visor hexadecimal que muestra el contenido de un archivo, con 16 bytes...

  •  Filtro de texto

    En este ejercicio, desarrollarás un programa en Python para crear una utilidad que censure archivos de texto. Este ejercicio es perfecto para practicar el mane...

  •  SQL a texto sin formato

    En este ejercicio, desarrollarás un programa en Python para analizar comandos SQL INSERT y extraer sus datos en líneas de texto separadas. Este ejercicio es pe...

  •  Visor de imágenes PGM

    En este ejercicio, desarrollarás un programa en Python para crear una utilidad que lea y muestre imágenes en formato PGM, que es una versión de los formatos de imagen...

  •  Visor BMP de consola V2

    En este ejercicio, desarrollarás un programa en Python para crear una utilidad que muestre un archivo BMP de 72x24 en la consola. Este ejercicio es perfecto pa...

  •  Guardar datos en un archivo de texto

    En este ejercicio, desarrollarás un programa en Python para recopilar múltiples oraciones del usuario (continuando hasta que el usuario presione Enter sin escribir na...