Filtro de texto - Python Programming Exercise

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 manejo de archivos, la manipulación de cadenas y el procesamiento de datos en Python. Al implementar este programa, obtendrás experiencia práctica en el manejo de operaciones de archivos, manipulación de cadenas y procesamiento de datos 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, la manipulación de cadenas y el procesamiento de datos, 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

Filtro De Texto

 Objectivo

Desarrollar un programa Python para crear una utilidad que censure archivos de texto. El programa debe leer un archivo de texto y generar los resultados en un nuevo archivo de texto, reemplazando las palabras especificadas por "[CENSURADO]". Las palabras que se censurarán se almacenarán en un archivo de datos independiente, que es un archivo de texto que contiene una palabra por línea.

 Ejemplo de ejercicio de Python

 Copiar código Python
# Python program to censor words in a text file

def load_censored_words(censor_file):
    """
    Load the list of words to be censored from the specified file.
    Each word is stored on a separate line.
    """
    try:
        with open(censor_file, 'r', encoding='utf-8') as file:
            # Read lines, strip whitespace, and return as a set
            return set(line.strip() for line in file if line.strip())
    except FileNotFoundError:
        print(f"Error: The censor file '{censor_file}' was not found.")
        return set()
    except Exception as e:
        print(f"Error: {str(e)}")
        return set()


def censor_text_file(input_file, output_file, censor_file):
    """
    Censor specified words in the input file and write the results to the output file.
    Replaces words found in the censor list with "[CENSORED]".
    """
    # Load the list of words to be censored
    censored_words = load_censored_words(censor_file)
    if not censored_words:
        print("No words to censor. Exiting.")
        return

    try:
        # Open the input and output files
        with open(input_file, 'r', encoding='utf-8') as infile, open(output_file, 'w', encoding='utf-8') as outfile:
            for line in infile:
                # Replace each censored word with "[CENSORED]"
                for word in censored_words:
                    line = line.replace(word, "[CENSORED]")
                # Write the censored line to the output file
                outfile.write(line)
        
        print(f"Censored text written to '{output_file}'.")
    except FileNotFoundError:
        print(f"Error: The input file '{input_file}' was not found.")
    except Exception as e:
        print(f"Error: {str(e)}")


# Example usage
if __name__ == "__main__":
    # File paths
    input_file = "example_text.txt"       # The text file to censor
    output_file = "censored_output.txt"  # The file to save the censored text
    censor_file = "censor_list.txt"      # The file containing words to censor

    censor_text_file(input_file, output_file, censor_file)

 Output

censor_list.txt:

badword
offensive
secret

example_text.txt:

This is a secret message.
Do not use badword or any offensive language here.

Output (censored_output.txt):

This is a [CENSORED] message.
Do not use [CENSORED] or any [CENSORED] language here.

 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.

  •  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...

  •  Agregar contenido a un archivo de texto

    En este ejercicio, desarrollarás un programa en Python que solicita al usuario que ingrese múltiples oraciones, deteniéndose cuando presionen Enter sin escribir nada....

  •  Mostrar datos de archivo

    En este ejercicio, desarrollarás un programa en Python para leer y mostrar el contenido de un archivo de texto. Este ejercicio es perfecto para practicar el ma...