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 un fichier texte avec Python


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2018
    Messages : 24
    Par défaut Modifier un fichier texte avec Python
    Bonjour
    J'ai un problème que je n'arrive pas à résoudre malgré mes recherches.

    le fichier texte original par exemple est :
    Nom : Capture.PNG
Affichages : 12261
Taille : 4,9 Ko

    Je souhaiterais insérer " $ " chaque 3 lignes dans le fichier pour avoir par exemple:

    Nom : 22.PNG
Affichages : 12392
Taille : 5,1 Ko

    Personnellement j'ai arrivé a ajouter " $ " mais à chaque ligne avec ce code:
    Nom : 33.PNG
Affichages : 13036
Taille : 5,2 Ko



    Nom : 444.PNG
Affichages : 12192
Taille : 3,1 Ko



    Merci d'avance

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Par défaut
    Dans ta boucle, ajoute un compteur de ligne que tu incrémentes à chaque itération.
    Ensuite avant de faire une écriture tu testes si ton compteur est un multiple de 3 (c'est à dire si son reste dans la division par 3 est 0), et là ca te permet de distinguer les cas.

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 2
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
     
    f = open('input.txt', 'r')
    f2 = open('input2.txt', 'w')
     
    for line in f:
        n = int(line)
        if n%3 == 0:
            f2.write(line.replace('\n', '\n$\n'))
        else:
            f2.write(line.replace('\n', '\n'))
            n += 1
     
    f.close()
    f2.close()
    Le code n'est pas vraiment propre mais il fonctionne, Modifie le contenu de else qui est vraiment moche si tu veux.

  4. #4
    Membre Expert

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Par défaut
    Citation Envoyé par Malkotte Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
     
    f = open('input.txt', 'r')
    f2 = open('input2.txt', 'w')
     
    for line in f:
        n = int(line)
        if n%3 == 0:
            f2.write(line.replace('\n', '\n$\n'))
        else:
            f2.write(line.replace('\n', '\n'))
            n += 1
     
    f.close()
    f2.close()
    Le code n'est pas vraiment propre mais il fonctionne, Modifie le contenu de else qui est vraiment moche si tu veux.
    Non désolé ca ne fait pas le job ! Suffit d'essayer en prenant un fichier avec que des 1 pour se rendre compte qu'il ne modifiera pas le fichier de départ !

    Si je ne fournis pas le code à dino, qui pourtant reste simple, c'est justement pour l'amener à écrire des choses par lui même. Ce qui est beaucoup plus constructif pour lui que de lui donné une réponse toute faite.

    Ici la seule chose de bonne dans votre code c'est
    Sinon on a absolument aucune raison de faire ça :
    ni même de faire
    seulement dans le else.
    Qui ceci dit dans votre cas ne sert à rien puisque votre première bêtise étant dans l'itération, elle va écraser toute valeur que "n" aurait en fin d'itération...

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut,

    Citation Envoyé par dino.adnane Voir le message
    Je souhaiterais insérer " $ " chaque 3 lignes dans le fichier pour avoir par exemple:
    Dans les tutos. on apprend les constructions de base comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    >>> for n, e in enumerate('abcdefghijk', start=1):
    ...     print(e)
    ...     if n % 3 == 0:
    ...        print('$')
    ...
    a
    b
    c
    $
    d
    e
    f
    $
    g
    h
    i
    $
    j
    k
    constructions qu'on peut appliquer ensuite à des listes, des fichiers,...
    Sûr que si on part billes en tête en se disant "je veux" alors qu'on a pas appris ces bases, les choses simples deviennent fort compliquées et on perd un temps fou à solliciter de l'aide dans les forums.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2018
    Messages : 24
    Par défaut
    Salut,

    je vous remercie pour votre réponse.
    je signal que je suis un nouveau membre et c'est ma première publication ici, je ne suis pas informaticien plutôt mon domaine est l’électronique...
    Je pense pour vous ce travail est très facile mais pour moi comme débutant est un défit,
    finalement je vous remercie encore une autre fois et tous les membres qui m'ont répondus

    Citation Envoyé par wiztricks Voir le message
    Dans les tutos. on apprend les constructions de base comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    >>> for n, e in enumerate('abcdefghijk', start=1):
    ...     print(e)
    ...     if n % 3 == 0:
    ...        print('$')
    ...
    a
    b
    c
    $
    d
    e
    f
    $
    g
    h
    i
    $
    j
    k
    constructions qu'on peut appliquer ensuite à des listes, des fichiers,...
    Sûr que si on part billes en tête en se disant "je veux" alors qu'on a pas appris ces bases, les choses simples deviennent fort compliquées et on perd un temps fou à solliciter de l'aide dans les forums.

    - W

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

Discussions similaires

  1. extraction des données dans un fichier texte avec python
    Par mery gi dans le forum Général Python
    Réponses: 4
    Dernier message: 01/12/2016, 14h46
  2. comparaison de deux fichiers textes avec un script python
    Par zekruss dans le forum Général Python
    Réponses: 1
    Dernier message: 10/11/2009, 05h52
  3. Modification de fichier XML avec XSLT
    Par osmoz dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 13/07/2005, 11h04
  4. Imprimer un fichier texte avec un script vbs
    Par Persons dans le forum Windows
    Réponses: 3
    Dernier message: 23/12/2004, 16h47
  5. Decoupage d'un fichier texte avec cut
    Par tesla dans le forum Linux
    Réponses: 3
    Dernier message: 28/06/2004, 15h39

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