l'obtention d'un des fichiers de la télécommande du chemin d'accès de répertoire local en utilisant sftp en python
Je suis en train de récupérer des fichiers à partir du chemin d'accès à distance à mon répertoire local. Quand je suis à exécuter le code, j'obtiens une erreur. comme décrit ci-dessous.
import paramiko
import SSHLibrary
from stat import S_ISDIR
server, username, password = ('Remote ID', 'root', 'root')
ssh = paramiko.SSHClient()
paramiko.util.log_to_file("ssh.log")
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(server, username=username, password=password)
ssh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command('ls')
print "output", ssh_stdout.read() #Reading output of the executed command
error = ssh_stderr.read()
#Transfering files to and from the remote machine
sftp = ssh.open_sftp()
print sftp.getcwd()
print sftp.get_channel()
print sftp.listdir("/home")
sftp.get("/home","C:\\Users\\ShareM\\Desktop") #---> facing problem here
sftp.close()
ssh.close()
Erreur:-
Traceback (most recent call last):
File "C:\Users\ShareM\Desktop\Automotive\devlopment\sshtesting\src\sshtest.py", line 36, in <module>
sftp.get("/home","C:\\Users\\ShareM\\Desktop")
File "build\bdist.win32\egg\paramiko\sftp_client.py", line 637, in get
IOError: [Errno 13] Permission denied: 'C:\\Users\\ShareM\\Desktop'
Besoin d'aide.
OriginalL'auteur user3463291 | 2014-06-26
Vous devez vous connecter pour publier un commentaire.
Le problème est que
sftp.get()
est prévu pour le transfert d'un seul fichier n'est pas un répertoire. Afin de télécharger tout le répertoire, vous devriez obtenir la liste des fichiers qu'il contient et de les télécharger séparément:ce qui ne l'S_ISDIR(item.st_mode)??
de stat importation S_ISDIR ajouter cette importation pour exécuter cette méthode.
OriginalL'auteur teegaar