Python - lista de diretórios

Python pode ser usado para obter a lista de conteúdo de um diretório. Podemos fazer um programa para listar o conteúdo do diretório que está na mesma máquina onde o python está sendo executado. Também podemos fazer login no sistema remoto e listar o conteúdo do diretório remoto.

Listando diretório local

No exemplo abaixo, usamos o método listdir () para obter o conteúdo do diretório atual. Para indicar também o tipo de conteúdo, como arquivo ou diretório, usamos mais funções para avaliar a natureza do conteúdo.

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 executamos o programa acima, obtemos a seguinte saída -

file: abcl.htm
dir: allbooks
link: ulink

Observe que o conteúdo acima é específico para o sistema em que o programa python foi executado. O resultado irá variar dependendo do sistema e seu conteúdo.

Listando Diretório Remoto

Podemos listar o conteúdo do diretório remoto usando ftp para acessar o sistema remoto. Assim que a conexão for estabelecida, podemos usar comandos que listarão o conteúdo do diretório de uma forma semelhante à listagem dos diretórios locais.

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 executamos o programa acima, obtemos a seguinte saída -

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