Cette link utilise une méthode personnalisée, mais je veux juste voir s'il y a une seule méthode pour le faire en Python 2.6?Existe-t-il un moyen d'obtenir tous les répertoires mais pas les fichiers dans un répertoire en Python?
Répondre
Il n'y a pas une fonction intégrée à la liste des fichiers seulement, mais il est assez facile de définir en quelques lignes:
def listfiles(directory):
return [f for f in os.listdir(directory)
if os.path.isdir(os.path.join(directory, f))]
EDIT: fixe, grâce Stephan202
Si a_directory est le répertoire que vous voulez inspecter, puis:
next(f 1 for f in os.walk(a_directory))
De la référence :
Générer les noms de fichiers dans une arborescence de répertoires en marchant l'arbre de haut en bas ou de bas en haut. Pour chaque répertoire de l'arborescence racine du répertoire top (y compris le sommet lui-même), il donne un triplet (dirpath, dirnames, noms de fichiers).
+1: Bien, vous voudrez peut-être rompre et ne pas descendre récursivement dans les sous-répertoires. Personnellement, je préférerais appeler explicitement os.listdir et os.isdir. – Pankrat
Si modifié le code. ceci ne se répète pas ... – Stephan202
Je ne crois pas qu'il y en ait. Puisque les répertoires sont aussi des fichiers, vous devez demander tous les fichiers, puis demandez à chacun s'il s'agit d'un répertoire.
def listdirs(path):
ret = []
for cur_name in os.listdir(path):
full_path = os.path.join(path, cur_name)
if os.path.isdir(full_path):
ret.append(cur_name)
return ret
onlydirs = listdir("/tmp/")
print onlydirs
..ou comme une liste-compréhension ..
path = "/tmp/"
onlydirs = [x for x in os.listdir(path) if os.path.isdir(os.path.join(path, x))]
print onlydirs
- 1. Trouver tous les fichiers dans un répertoire qui ne sont pas eux-mêmes des répertoires
- 2. Supprimer tous les fichiers dans un répertoire vb6
- 3. changer chmod pour les fichiers mais pas les répertoires
- 4. Comment obtenir des fichiers dans un répertoire, y compris tous les sous-répertoires
- 5. source tous les fichiers dans un répertoire de .bash_profile
- 6. Comment puis-je lister tous les fichiers tga dans un répertoire (non récursif) en Python?
- 7. Comment déplacer tous les fichiers mp3 dans un seul répertoire?
- 8. Obtenir une liste de tous les fichiers dans un répertoire
- 9. Impossible de déplacer tous les fichiers sauf les répertoires dans un dossier dans le terminal
- 10. Comment puis-je ajouter un préfixe à tous les noms de fichiers dans un répertoire?
- 11. vérifier les permissions des répertoires en python
- 12. Commande pour compresser tous les fichiers/dossiers sous un répertoire
- 13. Comment obtenir tous les sous-répertoires immédiats en Python
- 14. LINUX: Lien tous les fichiers d'un répertoire à un autre
- 15. Git: Comment ignorer les répertoires correspondants dans un sous-répertoire?
- 16. Déplacement tous les fichiers de répertoires One Step Up
- 17. En utilisant Perl, comment puis-je renommer les fichiers dans tous les sous-répertoires d'un lecteur?
- 18. php inclus dans les fichiers-répertoires html
- 19. Comment obtenir tous les fichiers dans un répertoire avec certaine extension en C#?
- 20. fichier batch Copier les fichiers avec certaines extensions de plusieurs répertoires dans un répertoire
- 21. Renommer les fichiers dans les sous-répertoires
- 22. Comment faire quelque chose à tous les fichiers dans un répertoire en utilisant bash?
- 23. Supprimer tous les fichiers/répertoires à l'exception de deux répertoires spécifiques
- 24. Un marcheur Python qui peut ignorer les répertoires
- 25. Comment puis-je appliquer tous les fichiers sql dans un répertoire?
- 26. combiner des répertoires dans un répertoire virtuel
- 27. BASH copier tous les fichiers sauf un
- 28. SVN Ignorer tous les fichiers (pas les dossiers) dans un sous-arbre,
- 29. Comment lister les fichiers dans un répertoire statique?
- 30. hgignore: aide ignorer tous les fichiers mais certains
Vous voulez dire os.path.isdir (os.path.join (répertoire, f)) au lieu de os.path.isfile (f) ... – Stephan202
La question était de trouver seulement les répertoires, pas seulement les fichiers (ce qui est un moyen bizarre, je suppose) – dbr