Edición del contenido de archivos
Técnicas básicas de edición de archivos
Lectura del contenido de archivos
## Reading entire file
with open('example.txt', 'r') as file:
content = file.read()
## Reading line by line
with open('example.txt', 'r') as file:
lines = file.readlines()
Estrategias de modificación
graph TD
A[File Modification] --> B[In-Memory Editing]
A --> C[Direct File Replacement]
A --> D[Temporary File Method]
Enfoque de edición en memoria
def modify_file_content(filename, old_text, new_text):
## Read the entire file
with open(filename, 'r') as file:
content = file.read()
## Replace content
modified_content = content.replace(old_text, new_text)
## Write back to file
with open(filename, 'w') as file:
file.write(modified_content)
Técnicas avanzadas de edición
Métodos de reemplazo de texto
Método |
Descripción |
Caso de uso |
replace() |
Sustitución simple de texto |
Archivos pequeños |
regex |
Coincidencia de patrones complejos |
Reemplazos avanzados |
fileinput |
Edición línea por línea |
Archivos grandes |
Edición con expresiones regulares
import re
def regex_file_edit(filename, pattern, replacement):
with open(filename, 'r') as file:
content = file.read()
modified_content = re.sub(pattern, replacement, content)
with open(filename, 'w') as file:
file.write(modified_content)
## Example usage
regex_file_edit('config.txt', r'version=\d+', 'version=2.0')
Prácticas de modificación segura de archivos
Copia de seguridad antes de la edición
import shutil
def safe_file_modify(source_file):
## Create backup
backup_file = source_file + '.bak'
shutil.copy2(source_file, backup_file)
## Perform modifications
## ... modification logic here ...
Manejo de errores en la edición de archivos
def robust_file_edit(filename):
try:
with open(filename, 'r+') as file:
## Editing operations
content = file.read()
## Modification logic
except PermissionError:
print(f"Cannot modify {filename}. Check permissions.")
except FileNotFoundError:
print(f"File {filename} not found.")
Al dominar estas técnicas, los desarrolladores de LabEx pueden manipular eficientemente el contenido de los archivos con confianza y precisión.