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