一、安裝Paramiko和PyCrypto
Paramiko是一款用於實現SSH協議的Python庫,而PyCrypto則是一個用於實現加密的Python庫,所以在使用Paramiko進行SFTP文件傳輸之前,需要先安裝它們。
pip install paramiko pycrypto
二、建立一個SSH連接對象
在使用Paramiko進行SFTP文件傳輸之前,需要先建立一個SSH連接對象。在建立連接前需要設置主機地址、埠號等信息。
import paramiko transport = paramiko.Transport(('192.168.1.100', 22)) # 主機IP和埠號 transport.connect(username='username', password='password') # 用戶名和密碼 sftp = paramiko.SFTPClient.from_transport(transport) # 建立SFTP連接
三、上傳文件
使用SFTPClient的put方法可以將本地文件上傳至遠程伺服器。
sftp.put(local_path, remote_path) # local_path為本地文件路徑,remote_path為遠程伺服器路徑
四、下載文件
使用SFTPClient的get方法可以將遠程伺服器文件下載至本地。
sftp.get(remote_path, local_path) # remote_path為遠程伺服器文件路徑,local_path為本地文件路徑
五、遍歷目錄
在遍歷整個目錄樹時,可以使用SFTPClient的walktree方法。
def print_info(item): print(item.filename, item.st_size) # filename為文件名,st_size為文件大小 sftp.walktree('/remote/dir', print_info, None, True) # /remote/dir為遠程伺服器目錄
六、關閉連接
文件傳輸完成後需要關閉連接以釋放資源。
sftp.close() # 關閉SFTP連接 transport.close() # 關閉SSH連接
原創文章,作者:WIFL,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/146841.html