Python ';把';在SFTP中使用Paramiko

Python ';把';在SFTP中使用Paramiko,python,sftp,paramiko,Python,Sftp,Paramiko,我已经安装并编写了以下Paramiko,它无法放置该文件。它可以轻松地“获取”文件并在其上执行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 userna

我已经安装并编写了以下Paramiko,它无法放置该文件。它可以轻松地“获取”文件并在其上执行
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()
使用“put”命令会产生以下错误和堆栈跟踪-

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

我如何克服这个问题?

这个解决方案对我来说似乎很有趣

source= '/Unzip.sh' 
destination ='/var/mpx/www/http/Unzip.sh'
只是修改了目标路径以包含文件名。
没有料到Python包会出现这样的错误。

在2.0.2中,当您尝试
sftp.mkdir('/exists')
时,也会出现这种情况:

这是我的Python 2.7.9修复程序:

try:
    sftp.mkdir(remote_dir)
except IOError:
    logging.debug('%s already exists.', remote_dir)

你也许可以在这方面给帕拉米科打个补丁;)i、 因此,它确实了解目标文件夹。干杯
try:
    sftp.mkdir(remote_dir)
except IOError:
    logging.debug('%s already exists.', remote_dir)