ver varias una manejo explorador directorio crear con carpetas carpeta archivos archivo abrir python ssh sftp paramiko

varias - Cómo enumerar todas las carpetas y archivos en el directorio después de conectarse a través de sftp en python



manejo de archivos y carpetas en python (1)

Hola, estoy usando python y tratando de conectarme a sftp y quiero recuperar un archivo xml desde allí y necesito ubicarlo en mi sistema local, a continuación se muestra el código

import paramiko sftpURL = ''sftp.somewebsite.com'' sftpUser = ''user_name'' sftpPass = ''password'' ssh = paramiko.SSHClient() # automatically add keys without requiring human intervention ssh.set_missing_host_key_policy( paramiko.AutoAddPolicy() ) ssh.connect(sftpURL, username=sftpUser, password=sftpPass) ftp = ssh.open_sftp() files = ftp.listdir() print files

aquí la conexión está completa y ahora quiero ver todas las carpetas y todos los archivos y necesito ingresar a la carpeta requerida para recuperar el archivo xml desde allí.

Finalmente, mi intención es ver todas las carpetas y archivos después de conectarme al servidor sftp. En el código anterior, utilicé ftp.listdir() través del cual obtuve resultados como a continuación.

[''.bash_logout'', ''.bash_profile'', ''.bashrc'', ''.mozilla'', ''testfile_248.xml'']

Quiero saber si estos son los únicos archivos presentes?

¿Y el comando que utilicé arriba es correcto para ver las carpetas también?

¿Cuál es el comando para ver todas las carpetas y archivos?


Una solución rápida es examinar el resultado de lstat de cada objeto en ftp.listdir() .

Aquí es cómo puedes hacer una lista de todos los directorios.

>>> for i in ftp.listdir(): ... lstatout=str(ftp.lstat(i)).split()[0] ... if ''d'' in lstatout: print i, ''is a directory'' ...

Los archivos son la búsqueda opuesta:

>>> for i in ftp.listdir(): ... lstatout=str(ftp.lstat(i)).split()[0] ... if ''d'' not in lstatout: print i, ''is a file'' ...