Python - Elenco delle directory

Python può essere utilizzato per ottenere l'elenco dei contenuti da una directory. Possiamo creare un programma per elencare il contenuto della directory che si trova nella stessa macchina in cui è in esecuzione python. Possiamo anche accedere al sistema remoto ed elencare il contenuto dalla directory remota.

Elenco della directory locale

Nell'esempio seguente usiamo il metodo listdir () per ottenere il contenuto della directory corrente. Per indicare anche il tipo di contenuto come file o directory, utilizziamo più funzioni per valutare la natura del contenuto.

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

Quando eseguiamo il programma sopra, otteniamo il seguente output:

file: abcl.htm
dir: allbooks
link: ulink

Tieni presente che il contenuto sopra è specifico del sistema in cui è stato eseguito il programma python. Il risultato varierà a seconda del sistema e del suo contenuto.

Elenco della directory remota

Possiamo elencare il contenuto della directory remota utilizzando ftp per accedere al sistema remoto. Una volta stabilita la connessione, possiamo usare i comandi che elencheranno il contenuto della directory in un modo simile all'elenco delle directory locali.

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()

Quando eseguiamo il programma sopra, otteniamo il seguente output:

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