Paramiko错误使用put

时间:2010-12-23 12:03:25

标签: python paramiko

您好我在使用python 2.4.2的microsoft windows xp v2002 service pack3上使用paramiko 1.7.6“fanny”

我有以下脚本:

import paramiko

hostname='blah' 
port=22
username='blah'
password='blah'
fullpath='\\\\root\\path\\file.xls'
remotepath='/inbox/file.xls'

self.client= paramiko.SSHClient()
self.client.load_system_host_keys()
self.client.connect(hostname,port,username,password)
sftp = self.client.open_sftp()
sftp.put(fullpath,remotepath)

我得到的错误是:

sftp.put(fullpath,remotepath))

File "build\bdist.win32\egg\paramiko\sftp_client.py", line 577, in put
File "build\bdist.win32\egg\paramiko\sftp_client.py", line 337, in stat
File "build\bdist.win32\egg\paramiko\sftp_client.py", line 628, in _request
File "build\bdist.win32\egg\paramiko\sftp_client.py", line 675, in _read_response
File "build\bdist.win32\egg\paramiko\sftp_client.py", line 701, in _convert_status
IOError: [Errno 2] /inbox/file.xls is not a valid file path

但路径肯定存在(我可以使用sftp.chdir('inbox')进入它))I 我也试过进入文件夹并使用put但我得到的完全相同 错误(确实取出了收件箱前缀)

有人有这个问题吗?

干杯 亚光

2 个答案:

答案 0 :(得分:1)

IOError: [Errno 2] /inbox/file.xls is not a valid file path

这是您的错误,这意味着/ inbox不是有效路径。你可能想要使用

remotepath='inbox/file.xls'

答案 1 :(得分:1)

我遇到了同样的问题。

签名指定sftp_client.py    def put(self,localpath,remotepath,callback = None,confirm = True):

大多数论坛回答将第一个参数称为remotepath。

如果我们将第一个更改为本地路径而将第二个更改为远程路径,   它工作正常。

没有问题。