一、傳輸單個文件到Linux服務器
import paramiko transport = paramiko.Transport(('host',22)) transport.connect(username='root',password='123') sftp = paramiko.SFTPClient.from_transport(transport) sftp.put('D:\Pycharm\hadoop_spark\ssh_files\id_rsa','/usr/local/id_rsa') transport.close() #D:\Pycharm\hadoop_spark\ssh_files\id_rsa 本地路徑,(windows) #/usr/local/id_rsa 遠端服務器路徑,(Linux) #兩邊路徑必須都寫上文件名
二、傳輸整個目錄到Linux服務器
paramiko默認不支持傳輸目錄,我們需要借助os.walk,在Unix,Windows中有效。
os.walk() 方法用於通過在目錄樹種游走輸出在目錄中的文件名,向上或者向下。
實例:
import os import paramiko transport = paramiko.Transport(('host',22)) transport.connect(username='root',password='123') sftp = paramiko.SFTPClient.from_transport(transport) for path in dir_list: for root, dirs, files in os.walk('D:/Pycharm/hadoop_spark/hadoop_config/'): for i in files: sftp.put('D:/Pycharm/hadoop_spark/hadoop_config/' + i,'/usr/local/' + i) transport.close()