"Put" dans SFTP en utilisant PAramiko
j'ai installé et écrit Paramiko qui est incapable de mettre le fichier. Il est facilement capable de "récupérer" un fichier et d'y exécuter des commandes "ls".
#set username & password
username='runaway'
password='runaway'
port=22
source= '/Unzip.sh'
destination ='/var/mpx/www/http'
#SFTP
client.load_system_host_keys()
print " hostname =%s n username=%s n password=%s n" (hostname,username,password)
t = paramiko.Transport((hostname, port))
t.connect(username=username,password=password)
sftp = paramiko.SFTPClient.from_transport(t)
sftp.put(source,destination)
#sftp.close()
#t.close()
L'utilisation d'une commande' put ' donne l'erreur suivante & la trace de la pile -
File "upload_file.py", line 84, in ?
sftp.put(source,destination)
File "/usr/lib/python2.4/site-packages/paramiko/sftp_client.py", line 522, in put
fr = self.file(remotepath, 'wb')
File "/usr/lib/python2.4/site-packages/paramiko/sftp_client.py", line 221, in open
t, msg = self._request(CMD_OPEN, filename, imode, attrblock)
File "/usr/lib/python2.4/site-packages/paramiko/sftp_client.py", line 572, in _request
return self._read_response(num)
File "/usr/lib/python2.4/site-packages/paramiko/sftp_client.py", line 619, in _read_response
self._convert_status(msg)
File "/usr/lib/python2.4/site-packages/paramiko/sftp_client.py", line 649, in _convert_status
raise IOError(text)
IOError: Failure
Comment puis-je surmonter cela?
25
demandé sur
fixxxer
2010-06-22 12:09:34
2 réponses
la solution m'a paru très drôle!
source= '/Unzip.sh'
destination ='/var/mpx/www/http/Unzip.sh'
vient de modifier le chemin de destination pour inclure le nom du fichier. Je ne m'attendais pas à une erreur comme celle-ci venant d'un paquet Python.
56
répondu
fixxxer
2010-06-23 06:01:37
cela se produit aussi dans 2.0.2 quand vous essayez de sftp.mkdir('/exists')
:
Traceback (most recent call last):
...
File "/usr/local/lib/python2.7/site-packages/paramiko/sftp_client.py", line 380, in mkdir
self._request(CMD_MKDIR, path, attr)
File "/usr/local/lib/python2.7/site-packages/paramiko/sftp_client.py", line 730, in _request
return self._read_response(num)
File "/usr/local/lib/python2.7/site-packages/paramiko/sftp_client.py", line 781, in _read_response
self._convert_status(msg)
File "/usr/local/lib/python2.7/site-packages/paramiko/sftp_client.py", line 811, in _convert_status
raise IOError(text)
IOError: Failure
C'était mon correctif Python 2.7.9:
try:
sftp.mkdir(remote_dir)
except IOError:
logging.debug('%s already exists.', remote_dir)
0
répondu
David Tucker
2016-08-18 21:36:37