Salut !

Info : je suis novice en python et j'utilise la version 2.7.5

Voila mon probleme, j'aimerais modifier la deuxieme ligne de mon fichier.

Dans ce fichier de conf, j'ai 3 fois la meme ligne mais dans 3 groupe differents.

Exemple du fichier de conf :

[groupe1]

mon adresse est: 1.1.1.1

[groupe2]

mon adresse est: 1.1.1.1

[groupe3]

mon adresse est: 1.1.1.1

exemple :
[groupe1]

mon adresse est: 1.1.1.1

[groupe2]

mon adresse est: 2.2.2.2

[groupe3]

mon adresse est: 1.1.1.1

j'aimerais modifier seuleument le 1.1.1.1 par 2.2.2.2 du groupe [groupe2]


J'ai essayé de le faire en Sed, ca ne marche que pour modifier toutes les adresses mais si je dois prendre en compte les groupe ca devient compliqué.

exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
sed -i.bak '/mon adresse est/ s/3.3.3.3/4.4.4.4/g' /etc/test.conf
Comme programme en pyhton je n'ai pu que faire ceci qui fais exactement la meme chose que la commande sed :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
def change_ldap(fic_path, address):
        f = open(fic_path, "a+")
        for l in f:
                print(l[0:8])
                if l[0:8] == "mon adresse":
                        l = "lmon adresse est: " + address + ":50001"
                        f.write(l)
                        f.close()
                        break
je ne sais pas si je suis bon au niveau du code mais surtout je ne sais pas coment intégrer les groupe

Merci d'avance pour vos réponses