banniere.png

Exercice 05 - recherche et remplacement de texte

#!/usr/bin/python
# -*- coding: ISO-8859-15 -*-
import sys
import os
import re

def remplace_texte(fichier, cherche, remplace):
    """ remplace un texte dans un fichier """
    c_cherche = re.compile(cherche)
    curseur = open(fichier, 'r')
    try:
        curseur_ecriture = open('%s.tmp' % fichier, 'w')
        try:
            for line in curseur.readlines():
                line = re.sub(c_cherche, remplace, line)
                curseur_ecriture.write(line)
        finally:
            curseur_ecriture.close()
    finally:
        curseur.close()

    # renommage
    os.rename(fichier, '%s~' % fichier)
    os.rename('%s.tmp' % fichier, fichier)

if __name__ == '__main__':
    if len(sys.argv) != 4:
        print ('utilisation: python %s nom du fichier '
                'texte à remplacer texte de remplacement') % sys.argv[0]?
    else:
        fichier = sys.argv[1]?
        cherche = sys.argv[2]?
        remplace = sys.argv[3]?
        remplace_texte(fichier, cherche, remplace)

Tarek Ziadé. Copyright 2006. Tous droits réservés. Licence contenu site