Ejercicio
Revertir El Contenido De Un Archivo
Objectivo
Desarrolla un programa Python para "invertir" un archivo: crea un nuevo archivo con el mismo nombre pero que termine en ".inv" y almacena los bytes del archivo original en orden inverso. En el archivo resultante, el primer byte será el último, el segundo byte será el penúltimo, y así sucesivamente. El byte final del archivo original debería aparecer primero en el nuevo archivo.
Solo tendrás que enviar el archivo Python, con un comentario que incluya tu nombre.
Sugerencia: Para determinar la longitud de un archivo binario (usando `BinaryReader`), puedes verificar la longitud del archivo usando `myFile.BaseStream.Length`. Además, para moverte a una posición diferente en el archivo, puedes usar `myFile.BaseStream.Seek(4, SeekOrigin.Current)`.
Las opciones de posición disponibles para la búsqueda son: `SeekOrigin.Begin`, `SeekOrigin.Current` o `SeekOrigin.End`.
Ejemplo de ejercicio de Python
Mostrar código Python
# This program reads a file, reverses the byte order, and writes the reversed content into a new file with ".inv" extension.
def invert_file(input_filename):
try:
# Open the input file in binary read mode
with open(input_filename, 'rb') as infile:
# Read the entire content of the file
content = infile.read()
# Reverse the byte order of the content
reversed_content = content[::-1]
# Create the new file name by adding ".inv" extension
output_filename = input_filename + ".inv"
# Open the output file in binary write mode
with open(output_filename, 'wb') as outfile:
# Write the reversed content to the new file
outfile.write(reversed_content)
print(f"File has been successfully inverted and saved as {output_filename}.")
except FileNotFoundError:
print(f"The file {input_filename} does not exist.")
except Exception as e:
print(f"An error occurred: {e}")
# Example usage
input_file = "example.txt" # Replace with your input file name
invert_file(input_file)
Output
If the example.txt file contains:
Hello, this is a test file!
After running the program, the example.txt.inv file will contain:
!elfi tset a si siht ,olleH
Código de ejemplo copiado
Comparte este ejercicio de Python