Maison >développement back-end >Tutoriel Python >Comment puis-je ajouter efficacement une ligne au début d'un fichier en Python ?
Ajouter une ligne au début d'un fichier
Modifier le début d'un fichier peut être difficile, surtout si le fichier est volumineux. Traditionnellement, un fichier distinct était utilisé comme solution de contournement. Cependant, il existe des moyens plus efficaces d'y parvenir en utilisant Python.
Comprendre les modes de fichier
Lors de l'ouverture d'un fichier en mode ajout (« a »), toute écriture est dirigé vers la fin du fichier, quelle que soit la position actuelle du pointeur de fichier. Ceci est problématique lorsque l'on tente de modifier le début du fichier.
Solution 1 : Charger le fichier en mémoire
Pour les fichiers plus petits pouvant être chargés en mémoire, le L'extrait de code suivant peut être utilisé :
<code class="python">def line_prepender(filename, line): with open(filename, 'r+') as f: content = f.read() f.seek(0, 0) f.write(line.rstrip('\r\n') + '\n' + content)</code>
Cette méthode lit l'intégralité du fichier en mémoire, ajoute la nouvelle ligne au début et réécrit le fichier.
Solution 2 : Utilisation de fileinput
Pour les fichiers plus volumineux, le module fileinput peut être utile :
<code class="python">def line_pre_adder(filename, line_to_prepend): f = fileinput.input(filename, inplace=1) for xline in f: if f.isfirstline(): print(line_to_prepend.rstrip('\r\n') + '\n' + xline, end='') else: print(xline, end='')</code>
Cette méthode est plus efficace pour les fichiers volumineux car elle ne charge pas l'intégralité du fichier en mémoire. Il parcourt le fichier ligne par ligne, imprimant la nouvelle ligne au début de la première ligne, puis les lignes restantes sans modification. Notez que cette méthode nécessite que le fichier soit accessible en écriture.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!