586 votes

Inscription à l'annuaire en Python

Comment puis-je obtenir une liste de tous les fichiers (et répertoires) dans un répertoire donné en Python?

620voto

Jerub Points 17488

C'est un chemin à parcourir chaque fichier et chaque répertoire dans un répertoire de l'arborescence:

import os

for dirname, dirnames, filenames in os.walk('.'):
    # print path to all subdirectories first.
    for subdirname in dirnames:
        print os.path.join(dirname, subdirname)

    # print path to all filenames.
    for filename in filenames:
        print os.path.join(dirname, filename)

    # Advanced usage:
    # editing the 'dirnames' list will stop os.walk() from recursing into there.
    if '.git' in dirnames:
        # don't go into any .git directories.
        dirnames.remove('.git')

539voto

rslite Points 17279

Vous pouvez utiliser

os.listdir(path)

Pour la référence et la plus os fonctions regardez ici:

123voto

giltay Points 681

Voici une fonction d'aide, j'utilise assez souvent:

import os

def listdir_fullpath(d):
    return [os.path.join(d, f) for f in os.listdir(d)]

82voto

curtisk Points 8623
import os

for filename in os.listdir("C:\\temp"):
    print  filename

15voto

kenny Points 643

Si vous avez besoin d'expansion des capacités, il y a un module pour ça. Par exemple:

import glob
glob.glob('./[0-9].*')

sera de retour quelque chose comme:

['./1.gif', './2.txt']

Voir la documentation ici.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X