Comment ajouter une ligne au début d'un fichier en Python ?

Linda Hamilton
Libérer: 2024-11-02 10:50:30
original
477 Les gens l'ont consulté

How to Prepend a Line to the Beginning of a File in Python?

Préparation inplace au début d'un fichier

Lorsque vous essayez d'ajouter une ligne au début d'un fichier à l'aide du mode d'ajout (' a'), les utilisateurs peuvent rencontrer une écriture indésirable à la fin du fichier en raison du fait que le pointeur de fichier avance automatiquement vers la fin.

Pour surmonter cette limitation et vraiment ajouter une ligne au début du fichier, plusieurs méthodes peuvent être utilisées :

Méthode 1 : Lire et réécrire le fichier

Si le chargement de l'intégralité du fichier en mémoire est réalisable, la fonction suivante peut être utilisée :

<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>
Copier après la connexion

Cette approche charge le contenu du fichier dans le contenu variable, permettant à la ligne d'être ajoutée au début et au contenu modifié d'être réécrit au début du fichier.

Méthode 2 : Utilisation de l'entrée de fichier Module

Une approche alternative consiste à utiliser le module fileinput :

<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,
        else:
            print xline,</code>
Copier après la connexion

Cette méthode parcourt les lignes du fichier et, lorsqu'elle rencontre la première ligne, y ajoute la ligne spécifiée avant imprimer les deux lignes.

Le mécanisme exact de cette méthode n'est pas tout à fait clair, mais elle permet une édition sur place du fichier sans avoir besoin de charger l'intégralité du contenu en mémoire, ce qui la rend potentiellement adaptée aux fichiers plus volumineux.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal