Python - Listado de directorios

Python se puede utilizar para obtener la lista de contenido de un directorio. Podemos hacer que el programa enumere el contenido del directorio que está en la misma máquina donde se ejecuta Python. También podemos iniciar sesión en el sistema remoto y listar el contenido del directorio remoto.

Listado del directorio local

En el siguiente ejemplo usamos el método listdir () para obtener el contenido del directorio actual. Para indicar también el tipo de contenido como archivo o directorio, usamos más funciones para evaluar la naturaleza del contenido.

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

Cuando ejecutamos el programa anterior, obtenemos el siguiente resultado:

file: abcl.htm
dir: allbooks
link: ulink

Tenga en cuenta que el contenido anterior es específico del sistema donde se ejecutó el programa Python. El resultado variará según el sistema y su contenido.

Listado de directorio remoto

Podemos listar el contenido del directorio remoto usando ftp para acceder al sistema remoto. Una vez establecida la conexión, podemos usar comandos que enumerarán el contenido del directorio de una manera similar a la lista de directorios locales.

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

Cuando ejecutamos el programa anterior, obtenemos el siguiente resultado:

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