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 :

listdir() on en parle ?


Sujet :

Python

  1. #1
    Mod�rateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    F�vrier 2008
    Messages
    7 672
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2008
    Messages : 7 672
    Par d�faut listdir() on en parle ?
    bonjour,

    quand est-ce que les pythons se sont dit : "ok, on va lister les fichiers, mais on va appeler la commande "lister les r�pertoires"" ?
    pour rappel :
    Citation Envoy� par help(os.listdir)
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    Return a list containing the names of the files in the directory.
    pourquoi ?

    serait-ce pour list dir content ?
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    721
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 721
    Par d�faut
    J'aime bien ce genre de question, car �a m'oblige � relire la doc
    Dans l'imm�diat je pense qu'on peut apporter une r�ponse simple:
    os.listdir(path='.')

    Return a list containing the names of the entries in the directory given by path. The list is in arbitrary order, and does not include the special entries '.' and '..' even if they are present in the directory. If a file is removed from or added to the directory during the call of this function, whether a name for that file be included is unspecified.
    J'ai mis en gras les passages int�ressants.

    Alternative: scandir:
    os.scandir(path='.')

    Return an iterator of os.DirEntry objects corresponding to the entries in the directory given by path. The entries are yielded in arbitrary order, and the special entries '.' and '..' are not included. If a file is removed from or added to the directory after creating the iterator, whether an entry for that file be included is unspecified.

    Using scandir() instead of listdir() can significantly increase the performance of code that also needs file type or file attribute information, because os.DirEntry objects expose this information if the operating system provides it when scanning a directory. All os.DirEntry methods may perform a system call, but is_dir() and is_file() usually only require a system call for symbolic links; os.DirEntry.stat() always requires a system call on Unix but only requires one for symbolic links on Windows.
    De mani�re g�n�rale, utiliser un it�rateur apporte de meilleures performances vs une liste qui doit �tre aliment�e enti�rement avant de pouvoir �tre consomm�e.

    PS: il y aussi pathlib qui fournit ce genre de fonction.

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

    Citation Envoy� par N_BaH Voir le message
    quand est-ce que les pythons se sont dit : "ok, on va lister les fichiers, mais on va appeler la commande "lister les r�pertoires"" ?
    Si la fonction se nommait turlututu, vous n�essaieriez pas de la traduire en fran�ais.... peut �tre que vous trouveriez un mot plus facile � retenir (pour en faire un alias �...) en fonction de ce que �a raconte faire: "Return a list containing the names of the entries in the directory given by path." Et avec une culture outre-atlantique, piquer les bouts en gras pour en faire un nouveau mot se fait assez naturellement.

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

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    F�vrier 2006
    Messages
    12 851
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 12 851
    Billets dans le blog
    1
    Par d�faut
    Bonjour
    Citation Envoy� par N_BaH Voir le message
    quand est-ce que les pythons se sont dit : "ok, on va lister les fichiers, mais on va appeler la commande "lister les r�pertoires"" ?
    "list" non pas pour "lister" mais pour "list, objet Python repr�sentant les tableaux". D'o� listdir="ensemble des fichiers du r�pertoire (directory) regroup�s dans un tableau (une liste)".
    Mon Tutoriel sur la programmation �Python�
    Mon Tutoriel sur la programmation �Shell�
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les diff�rentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Expert confirm�
    Avatar de tyrtamos
    Homme Profil pro
    Retrait�
    Inscrit en
    D�cembre 2007
    Messages
    4 486
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Retrait�

    Informations forums :
    Inscription : D�cembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par d�faut
    Bonjour

    En dehors de ces probl�mes d'appellation, il existe d'autres fa�ons d'obtenir la liste des fichiers d'un r�pertoire donn�, y compris de fa�on r�cursive (avec les sous-r�pertoires): glob.glob et os.walk. Manifestement, les noms de ces 2 fonctions sont encore moins explicites.

    La fonction glob est particuli�rement simple d'utilisation, y compris dans son utilisation r�cursive (https://www.developpez.net/forums/d1...ive-glob-glob/).

    La fonction os.walk a le plus souvent ma pr�f�rence parce qu'elle permet une gestion rigoureuse des �ventuelles erreurs.

  6. #6
    Invit�
    Invit�(e)
    Par d�faut
    J'aime bien os.walk aussi, je trouve son nom assez parlant j'imagine un bonhomme entrain de parcourir les fichiers et sous-dossiers...

Discussions similaires

  1. [Python][RE] Il parle � qui ?
    Par razord dans le forum G�n�ral Python
    R�ponses: 3
    Dernier message: 15/02/2006, 20h30
  2. Mon pc me parle
    Par m.schar dans le forum Composants
    R�ponses: 7
    Dernier message: 14/10/2005, 22h56

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