• # Seek/tell, mais pas forcément intéressant

    Posté par . En réponse au message modification de fichier. Évalué à 2.

    Un truc comme ca doit fonctionner:
    def main():
     f = file("myfile", "r+b", 0)
     i = f.readline()
     while i:
     c = i.find("bar")
     if c != -1:
     a = f.tell()
     f.seek(-len(i) + c, 1)
     f.write("foo")
     f.seek(a)
     i = f.readline()
     f.close()
    
    En gros tu te balades dans ton fichiers, quand tu trouves ton texte ("bar") tu te replace à la bonne position et tu écris ton nouveau texte ("foo"). Le problème avec la gestion des fichiers (enfin de ce que je sais sous Linux), c'est que tu ne peux pas insérer de données. Tu peux remplacer 3 caractères par 3 caractères, mais tu ne peux pas déplacer toutes les données du fichier pour mettre plus de données (insérer une ligne par example).