版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kwame211/article/details/82013843
一、传输单个文件到Linux服务器
1 2
3 4 5 6 7 8 9 10 |
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() 方法用于通过在目录树种游走输出在目录中的文件名,向上或者向下。
实例:
1 2 3 4 5 6 7 8 9 10 11 |
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() |