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 :

Liste avec tous les noms de fichiers et dossiers


Sujet :

Python

  1. #1
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2017
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Août 2017
    Messages : 141
    Par défaut Liste avec tous les noms de fichiers et dossiers
    Bonjour,

    Je crée une liste vide et je veux la remplir avec tous les noms de fichiers et dossiers à partir d'un endroit défini avec les sous-répertoires, cela fonctionne mais il me les mets en liste dans la liste :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    lstFichierNew = []      # Création liste vide
    #   Recherche AVEC sous-dossier
    for path, dirs, files in os.walk(DOSSIER):
        for e in files, dirs:
            lstFichierNew.append(e)
    print(lstFichierNew)
    Cela donne cela :
    [['01.txt', 'aaa0000fgdf.txt'], ['01_10000jkjk'], ['02.txt'], ['02'], ['0310000iiii.txt', '03ggggggg.txt'], ['03'], [], []]
    je voudrais cela :
    ['01.txt', 'aaa0000fgdf.txt', '01_10000jkjk', '02.txt', '02', '0310000iiii.txt', '03ggggggg.txt', '03']

    Je n'y arrive pas, pouvez-vous m'aider ?

  2. #2
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2017
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Août 2017
    Messages : 141
    Par défaut
    Bonjour,

    J'ai trouvé, il fallais faire cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        for path, dirs, files  in os.walk(DOSSIER):
            for e in dirs:
                lstFichierNew.append(e)
            for e in files:
                lstFichierNew.append(e)
    Bon ! Il y a surement plus élégant !

  3. #3
    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 Ragus1970 Voir le message
    Bon ! Il y a surement plus élégant !
    L'opérateur de base pour concaténer des séquences est '+':
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    >>> A = [1,2,3]
    >>> B = list('abcd')
    >>> C = []
    >>> C += A + B
    >>> C
    [1, 2, 3, 'a', 'b', 'c', 'd']
    >>>
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #4
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2015
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2015
    Messages : 56
    Par défaut
    Débutant absolu en Python, je ne vois pas bien le rapport entre cette réponse et la question posée.

  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 pzorba75 Voir le message
    Débutant absolu en Python, je ne vois pas bien le rapport entre cette réponse et la question posée.
    Il ne faut pas essayer de voir mais lancer son interpréteur Python et jouer avec.
    Si on fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    >>> A = [1,2,3]
    >>> B = list('abcd')
    >>> C = []
    >>> for x in A, B:
    ...     C.append(x)
    ...
    >>> C
    [[1, 2, 3], ['a', 'b', 'c', 'd']]
    >>>
    on se retrouve bien avec un C contenant 2 objets de type liste.
    Maintenant si on applique la solution trouvée par Ragus1970 et qui, à priori, lui convient çà donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    >>> C = []
    >>> for e in A:
    ...     C.append(e)
    ...
    >>> for e in B:
    ...     C.append(e)
    ...
    >>> C
    [1, 2, 3, 'a', 'b', 'c', 'd']
    >>>
    Bien sur, il faut au préalable:
    • Faire la gymnastique cérébrale de remplacer les listes dirs, files et lstFichierNew par les listes A, B, C. Des listes d'objets restent des listes d'objets et plus généralement des séquences.
    • Avoir reformulé la question en "j'ai 2 listes A et B dont je veux ajouter les éléments à C et au lieu d'ajouter les éléments, çà ajoute les listes".
    • Fait abstraction que cette opération là est encapsulée dans un for path, dirs, files in os.walk(DOSSIER)...

    Tout ce qu'on vous propose d'apprendre dans les bons tutos et de la patience.

    - 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. La liste de tous les mots français avec définition dans un fichier xml ou texte
    Par mahmoud35 dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 02/11/2020, 16h47
  2. Réponses: 8
    Dernier message: 26/05/2019, 21h05
  3. Récupération des tous les noms de fichiers d'un répertoire
    Par Ocian dans le forum x86 32-bits / 64-bits
    Réponses: 1
    Dernier message: 19/11/2009, 19h26
  4. fonction qui met en liste les noms des fichiers
    Par aliassaf dans le forum Général Python
    Réponses: 2
    Dernier message: 22/06/2006, 11h50
  5. [DOM] Problème d'accent sur les noms de fichier avec mon parseur
    Par ujoodha dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 06/04/2006, 21h55

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