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).
# Seek/tell, mais pas forcément intéressant
Posté par Thomas Hervé . En réponse au message modification de fichier. Évalué à 2.
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).