¿Sabes por favor cómo puedo llamar a este procedimiento?
#### Transfer Files ####
import stat
def downLoadFile(sftp, remotePath, localPath):
for fileattr in sftp.listdir_attr(remotePath):
if stat.S_ISDIR(fileattr.st_mode):
sftp.get(fileattr.filename, os.path.join(localPath,fileattr.filename))
Después de definir local_Path y remote_Path, llamé a la función de la siguiente manera:
downLoadFile(sftp , remote_Path, local_Path)
Pero recibí este mensaje de error, ¿podría avisarme?
Rastreo (llamadas recientes más última): Archivo "C: Nessus-Connection.py", línea 35, en downLoadFile (sftp, remote_Path, local_Path) NameError: el nombre "sftp" no está definido
Respuestas
0 para la respuesta № 1Necesitas instalar pysftp. Los documentos dan ejemplos de cómo usarlo:
import pysftp
with pysftp.Connection("hostname", username="me", password="secret") as sftp:
with sftp.cd("public") # temporarily chdir to public
sftp.put("/my/local/filename") # upload file to public/ on remote
sftp.get_r("myfiles", "/backup") # recursively copy myfiles/ to local
No puede usar una biblioteca sin primero instalarla y luego importarla.