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 :

Boucle for sur 2 fichiers [Python 2.X]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2016
    Messages : 17
    Par défaut Boucle for sur 2 fichiers
    Bonjour,

    je bloque sur un problème surement simple mais je ne trouve pas de solution sur le net.

    Je cherche à faire une boucle for sur chaque ligne de 2 fichiers dans la même boucle par exemple:

    for ligne in fichier1 and ficher2:
    print ligne
    Bien sur j'ouvre les fichiers en readlines avant.

    Pour le moment je fait 1 boucle for pour chaque fichier mais je suis sur qu'il y a mieux.

    Comment écrire "Pour les lignes du fichier1 ET du fichier 2?

    Merci beaucoup

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 740
    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 740
    Par défaut
    Salut,

    Citation Envoyé par knibalpj Voir le message
    Comment écrire "Pour les lignes du fichier1 ET du fichier 2?
    La chose retournée par open est un itérable.
    Après vous avez la fonction zip qui permet de faire çà sur des itérables:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    >>> a = 1, 2, 3; b = list('abc')
    >>> for z in zip(a, b): print(z)
    ...
    (1, 'a')
    (2, 'b')
    (3, 'c')
    >>>
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2016
    Messages : 17
    Par défaut
    Bonjour wiztrick,

    merci pour ton retour, malheureusement j'ai écrit ton code mais ça ne marche pas avec les fichier texte en readlines.
    Si j'enlève le .readlines il ne me renvoie que la 1er ligne de chaque fichier.

    Voici mon code. Une erreur?

    a = open("1.txt", "r").readlines
    b = open("2.txt", "r").readlines

    for ligne in zip(a, b):
    print ligne

    TypeError: zip argument #1 must support iteration
    Petite précision, je souhaites balayer toute les lignes de mon fichier 1 dans ma boucle puis refaire pareil dans mon fichier 2.
    Une sorte de concatenation des 2 fichiers avant la boucle For mais sans création d'un 3iem fichier.


    Merci et bonne journée

  4. #4
    Membre Expert
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 617
    Par défaut
    Il faut user et abuser des instructions du type :
    print(variable), print(type(variable)), print(len(variable))

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2016
    Messages : 17
    Par défaut
    A vrai dire je ne comprend pas comment cette forme de fonction va m'aider dans mon cas?

    Mais je retiens la remarque.

    Bonne journée

  6. #6
    Expert confirmé

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

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

    C'est ".readlines()" ou encore ".readline" au choix.

  7. #7
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 740
    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 740
    Par défaut
    Salut,

    Citation Envoyé par knibalpj Voir le message
    A vrai dire je ne comprend pas comment cette forme de fonction va m'aider dans mon cas?
    A vérifier que les instructions que vous avez tapé retournent bien la chose attendue. Dit autrement, si "open("1.txt", "r").readlines" ne fonctionne pas, essayez de jouer un peu avec pour trouver votre erreur avant de venir raconter ici "çà ne marche pas"... et pour çà "abuser de print" est incontournable.

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

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

Discussions similaires

  1. [Batch] Boucle for sur tous les fichiers sauf certaines extentions
    Par SuperPat dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 03/01/2014, 00h43
  2. Probleme sur un boucle For d'un fichier texte
    Par erlerwade dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 16/12/2011, 15h36
  3. [BASH] boucle for sur des fichiers, recuperation du chemin ?
    Par zevince dans le forum Shell et commandes GNU
    Réponses: 13
    Dernier message: 13/11/2007, 10h47
  4. Boucle for sur fichiers sauf un !
    Par coincoin22 dans le forum Linux
    Réponses: 4
    Dernier message: 13/08/2007, 14h41
  5. [Eval] Problème de boucle for sur des tableaux
    Par battle_benny dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 12/01/2006, 23h55

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