paramiko上傳文件到Linux


一、傳輸單個文件到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()

 

 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM