Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用put的Paramiko错误_Python_Paramiko - Fatal编程技术网

Python 使用put的Paramiko错误

Python 使用put的Paramiko错误,python,paramiko,Python,Paramiko,您好,我正在microsoft windows xp v2002 service pack3和python 2.4.2上使用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= param

您好,我正在microsoft windows xp v2002 service pack3和python 2.4.2上使用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')进入它) 我也尝试过移动到文件夹中并使用put,但我得到了完全相同的结果 错误(没有取出收件箱前缀)

有人有这个问题吗

干杯
matt

IOError:[Errno 2]/inbox/file.xls不是有效的文件路径

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

remotepath='inbox/file.xls'
我也有同样的问题

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

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

如果我们将第一个更改为本地路径,将第二个更改为远程路径, 它很好用


没有问题。

您是否尝试过使用反斜杠:remotepath='\\inbox\\file.xls'?您说'/inbox'失败,但手动测试时“inbox”可以工作-您确定需要第一个斜杠,即inbox是根目录吗?