Ajouter une ligne au début d'un fichier
Ajouter une ligne au début d'un fichier au lieu de la fin peut être difficile, car l'ouverture d'un fichier en mode ajout écrit automatiquement à la fin du fichier. Il existe cependant deux manières d’y parvenir :
1. Charger le fichier en mémoire
Cette méthode consiste à lire l'intégralité du fichier en mémoire, à ajouter la ligne souhaitée, puis à réécrire le fichier avec le nouveau contenu :
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)
2. Utiliser le module Fileinput
Le module fileinput propose une approche alternative :
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, else: print xline,
Alors que la première méthode garantit le contrôle du contenu du fichier, le mécanisme sous-jacent de la seconde méthode et son adéquation aux fichiers volumineux restent flous.
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!