Python - Liste de répertoires

Python peut être utilisé pour obtenir la liste du contenu d'un répertoire. Nous pouvons créer un programme pour lister le contenu du répertoire qui se trouve dans la même machine où python s'exécute. Nous pouvons également nous connecter au système distant et répertorier le contenu du répertoire distant.

Liste du répertoire local

Dans l'exemple ci-dessous, nous utilisons la méthode listdir () pour obtenir le contenu du répertoire courant. Pour indiquer également le type de contenu comme un fichier ou un répertoire, nous utilisons plus de fonctions pour évaluer la nature du contenu.

for  name in os.listdir('.'):
    if os.path.isfile(name): print 'file: ', name
    elif os.path.isdir(name): print 'dir: ', name
    elif os.path.islink(name): print 'link: ', name
    else: print 'unknown', name

Lorsque nous exécutons le programme ci-dessus, nous obtenons la sortie suivante -

file: abcl.htm
dir: allbooks
link: ulink

Veuillez noter que le contenu ci-dessus est spécifique au système sur lequel le programme python a été exécuté. Le résultat variera en fonction du système et de son contenu.

Liste du répertoire distant

Nous pouvons lister le contenu du répertoire distant en utilisant ftp pour accéder au système distant. Une fois la connexion établie, nous pouvons utiliser des commandes qui listeront le contenu du répertoire d'une manière similaire à la liste des répertoires locaux.

from ftplib import FTP
def main():
    ftp = FTP('ftp.ibiblio.org')
    ftp.login()
    ftp.cwd('pub/academic/biology/') # change to some other subject
    entries = ftp.nlst()
    ftp.quit()
    print(len(entries), "entries:")
    for entry in sorted(entries):
        print(entry)
if __name__ == '__main__':
    main()

Lorsque nous exécutons le programme ci-dessus, nous obtenons la sortie suivante -

(6, 'entries:')
INDEX
README
acedb
dna-mutations
ecology+evolution
molbio