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 :pourquoi ?Envoyé par help(os.listdir)
serait-ce pour list dir content ?
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 :pourquoi ?Envoyé par help(os.listdir)
serait-ce pour list dir content ?
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:
J'ai mis en gras les passages intéressants.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.
Alternative: scandir:
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.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.
PS: il y aussi pathlib qui fournit ce genre de fonction.
Salut,
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
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]
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.
J'aime bien os.walk aussi, je trouve son nom assez parlant j'imagine un bonhomme entrain de parcourir les fichiers et sous-dossiers...
Partager