我有一個使用的paramiko一個Python代碼。與SCP的paramiko,使用不同的遠程和本地目錄
#!/usr/bin/env python
import paramiko
username = ('user')
password = ('1234')
hostname = ('test-server.com')
ports = 22
localD = ('/var/tmp/testxxxxxxxx.tar.gz')
remoteD = ('/var/tmp/testxxxxxxxx.tar.gz')
paramiko.util.log_to_file('/tmp/paramiko.log')
transport = paramiko.Transport((hostname, ports))
transport.connect(username = username, password = password)
sftp = paramiko.SFTPClient.from_transport(transport)
sftp.put(remotepath=remoteD, localpath=localD)
sftp.close()
transport.close()
有了這個代碼,與本地目錄和遠程目錄應該是平等的。如果不是「找不到文件」 如何更改或使用與local-dir不同的另一個remote-dir? 例子:
localD = ('/var/tmp/testxxxxxxxx.tar.gz')
remoteD = ('/home/user/testxxxxxxxx.tar.gz')
謝謝
更改這些變量完全像你說的應該工作。 'sftp.put()'將'localD'路徑中的本地文件複製到遠程'remoteD'文件路徑。我可能並不完全瞭解你想要什麼,你能告訴我你做了什麼,你期望什麼以及你實際得到了什麼? – KurzedMetal 2012-04-26 18:13:20
我試圖使用SFTP來轉院(本地)/ var/tmp中/文件1到(遠程)/家庭/用戶/轉移/文件1 我收到此錯誤: OSERROR:[錯誤2]沒有這樣的文件或目錄: 「/var/tmp/pruebaxxxxxxxx.tar。GZ」 這個腳本只有在本地和遠程目錄都是平等的工作,像 (本地)/ var/tmp中/文件1到(遠程)/ var/tmp中/文件1 – 2012-04-26 18:15:56
我知道你不必須有本地和遠程相同,只是執行:'sftp.put(remotepath ='/ usr/jgaines2/foo.bar',localpath ='/ bin/edit.cmd')'工作得很好。 – 2012-04-26 19:17:38