Editing File Contents
Techniques de base d'édition de fichiers
Lecture du contenu d'un fichier
## 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()
Stratégies de modification
graph TD
A[File Modification] --> B[In-Memory Editing]
A --> C[Direct File Replacement]
A --> D[Temporary File Method]
Approche d'édition en mémoire
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)
Techniques d'édition avancées
Méthodes de remplacement de texte
Méthode |
Description |
Cas d'utilisation |
replace() |
Substitution de texte simple |
Fichiers petits |
regex |
Correspondance de motifs complexes |
Remplacements avancés |
fileinput |
Édition ligne par ligne |
Fichiers volumineux |
Édition avec expressions régulières
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')
Pratiques de modification de fichiers sécurisées
Sauvegarde avant édition
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 ...
Gestion des erreurs lors de l'édition de fichiers
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.")
En maîtrisant ces techniques, les développeurs LabEx peuvent manipuler efficacement le contenu des fichiers avec confiance et précision.