一、传输单个文件到Linux服务器
import paramiko transport = paramiko.Transport(('host',22)) transport.connect(username='root',password='123') sftp = paramiko.SFTPClient.from_transport(transport) sftp.put('D:Pycharmhadoop_sparkssh_filesid_rsa','/usr/local/id_rsa') transport.close() #D:Pycharmhadoop_sparkssh_filesid_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()