IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Modifier la deuxieme chaine d'un fichier en fonction de groupe [Python 2.X]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Stagiaire
    Inscrit en
    Juillet 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Stagiaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2018
    Messages : 4
    Par défaut Modifier la deuxieme chaine d'un fichier en fonction de groupe
    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

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 305
    Par défaut
    Salut,

    Plutôt quelque chose comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    with open(fic_path, 'r') as inf:
        lines = inf.readlines()
        for idx in range(len(lines)):
            if "[groupe2]" in lines[idx]:
                lines[idx+1] = lines[idx+1].replace("1.1.1.1", "2.2.2.2")
                break
    with open(fic_path, 'w') as outf:
        outf.write(lines)

  3. #3
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 049
    Par défaut
    configparser peut faire le taf je pense...

  4. #4
    Membre à l'essai
    Homme Profil pro
    Stagiaire
    Inscrit en
    Juillet 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Stagiaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2018
    Messages : 4
    Par défaut
    Oui effectivement configparser est tres utile merci les gars !!!!!!!!!!!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Modifier une chaine dans un fichier texte
    Par ruyeken dans le forum Android
    Réponses: 4
    Dernier message: 29/05/2013, 11h57
  2. Liste modifiable : longueur de chaine.
    Par pifou02 dans le forum Access
    Réponses: 8
    Dernier message: 09/01/2006, 15h47
  3. [FPDF] Recherche chaine caractères dans fichier pdf
    Par licorne dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 28/10/2005, 11h55
  4. Réponses: 21
    Dernier message: 29/09/2005, 19h33
  5. [Stratégie]Sauvegarde d'une liste chainée dans un fichier
    Par BernardT dans le forum Général Java
    Réponses: 17
    Dernier message: 25/07/2005, 17h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo