2

こんにちは、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 を使用しようとしましたが、まったく同じエラーが発生しました (受信トレイのプレフィックスを取り出しました)。

誰かがこの問題を抱えていますか?

乾杯マット

4

2 に答える 2

1

私も同じ問題を抱えていました。

署名はsftp_client.pyを指定しますdefput(self、localpath、remotepath、callback = None、confirm = True):

回答されたフォーラムのほとんどは、最初の議論をリモートパスと呼んでいました。

最初のパスをローカルパスとして変更し、2番目のパスをリモートパスとして変更すると、正常に機能します。

これには問題はありません。

于 2011-07-28T02:31:13.893 に答える
1

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

これはエラーです。つまり、/inboxは有効なパスではありません。あなたはおそらく使用するつもりでした

remotepath='inbox/file.xls'

于 2010-12-23T15:19:16.267 に答える