paramiko上传文件到Linux

版权声明:本文为博主原创文章,未经博主允许不得转载。 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 in files:

              sftp.put('D:/Pycharm/hadoop_spark/hadoop_config/' + i,'/usr/local/' + i)

transport.close()

猜你喜欢

转载自blog.csdn.net/kwame211/article/details/82013843
今日推荐