2012-10-16 48 views
1
  • 我正在編寫一個python腳本,將python(比如ABC.py)文件從一個目錄複製到另一個 目錄,其目錄名稱(如ABC)與腳本名稱不包括.py。
  • 在本地系統中,它工作正常,並將文件從一個目錄複製到其他目錄通過
    創建相同的名稱文件夾。
  • 但實際上我想從我的本地系統(Windows XP)將這些文件複製到位於我執行腳本的其他國家/地區的遠程 系統(Linux)。但我得到
    作爲「目的地路徑未找到」的錯誤意味着我無法連接到遠程
    這就是爲什麼。
  • 我使用SSH安全客戶端。
  • 我使用IP地址和端口號連接到遠程服務器。
  • 然後它要求輸入用戶名和密碼。如何使用python腳本將文件從客戶端傳輸到服務器計算機?

    但我無法通過我的python腳本連接到遠程服務器。

Can任何人都可以幫我解決我該怎麼做?

+1

你可以看看這個http://code.activestate.com/recipes/576810-copy-files-over-ssh-using-paramiko/ – avasal

回答

2

paramiko提供了一個SFTPClient可以用來做到這一點。

import paramiko 

source = r'C:\Somedir\somefile.txt' 
dest = r'/home/user/file.txt' 
hostname = 'linux.server.com' 
port = 22 # default port for SSH 
username = 'user' 
password = 'secret' 

try: 
    t = paramiko.Transport((hostname, port)) 
    t.connect(username=username, password=password) 
    sftp = paramiko.SFTPClient.from_transport(t) 
    sftp.put(source, dest) 
finally: 
    t.close() 
+0

謝謝你的幫助爵士。但我仍然面臨一個問題。我正在使用python 2.7版本。當我按照你的答案執行我的腳本時,它顯示錯誤爲「No module named paramiko」。這是因爲我的python版本在庫中沒有這個模塊。你能告訴我如何在我現有的python安裝中添加這個模塊?請幫助我。 :) – AshA

+0

首先下載並安裝[pycrypto](https://www.dlitz.net/software/pycrypto/),然後[paramiko](http://www.lag.net/paramiko/)。 –

+0

嗨,謝謝。但是,當安裝「pycrypto」時,我得到如下錯誤:(1) - 警告:找不到GMP或MPIR庫;不構建Crypto.PublicKey._fastmath。 (2) - 建立'Crypto.Random.OSRNG.winrandom'擴展名(3) - 錯誤:無法找到vcvarsall.bat ------- >>>>>請問我可以如何解決這個問題? – AshA

相關問題