您好我在使用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但我得到的完全相同 错误(确实取出了收件箱前缀)
有人有这个问题吗?
干杯 亚光
答案 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。
如果我们将第一个更改为本地路径而将第二个更改为远程路径, 它工作正常。
没有问题。