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