最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python通過(guò)paramiko復(fù)制遠(yuǎn)程文件及文件目錄到本地

 更新時(shí)間:2019年04月30日 11:51:43   作者:森林番茄  
這篇文章主要為大家詳細(xì)介紹了python通過(guò)paramiko復(fù)制遠(yuǎn)程文件及文件目錄到本地,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

最近寫(xiě)運(yùn)維自動(dòng)化平臺(tái),需要用python寫(xiě)很多的小功能模塊。

這里就分享一個(gè)用Python的paramiko來(lái)實(shí)現(xiàn)功能的一段代碼:

復(fù)制遠(yuǎn)程服務(wù)器上的文件及文件夾到本地目錄。

解釋一下什么叫paramiko:

paramiko是用python寫(xiě)的一個(gè)模塊,遵循SSH2協(xié)議,支持以加密和認(rèn)證的方式,進(jìn)行遠(yuǎn)程服務(wù)器的連接。利用該模塊,可以方便的進(jìn)行ssh連接和sftp協(xié)議進(jìn)行sftp文件傳輸以及遠(yuǎn)程命令執(zhí)行。

安裝paramiko也很簡(jiǎn)單,我用的是python3,裝好了pip,可以直接用pip來(lái)安裝。
不過(guò)由于 paramiko 模塊內(nèi)部依賴(lài)pycrypto,所以先下載安裝pycrypto:

pip3 install pycrypto
pip3 install paramiko

好了。我定義一個(gè)方法,用于遠(yuǎn)程復(fù)制文件。代碼如下:

import os
import paramiko

def RemoteScp(host_ip, host_port, host_username, host_password, remote_file, local_file):
  scp = paramiko.Transport((host_ip, host_port))
  scp.connect(username=host_username, password=host_password)
  sftp = paramiko.SFTPClient.from_transport(scp)
  sftp.get(remote_file, local_file)
  scp.close()
  return ("success")

注意這里的語(yǔ)句:

sftp.get(remote_file, local_file)中自帶的get方法,只能拷貝文件目錄,不能拷貝文件夾。

然后調(diào)用這個(gè)方法:

if __name__ == '__main__':
  host_ip = '192.168.1.123'
  host_port = 22
  host_username = 'root'
  host_password = 'password'
  remote_path = '/tmp/test.sql'
  local_path = '/tmp/test.sql'
  RemoteScp(host_ip, host_port, host_username, host_password, remote_path, local_path)

這就是基本遠(yuǎn)程文件復(fù)制的功能實(shí)現(xiàn)。這里只能實(shí)現(xiàn)文件對(duì)文件的遠(yuǎn)程復(fù)制。

如果我們要遠(yuǎn)程復(fù)制整個(gè)文件夾。需要對(duì)上面的方法改進(jìn)一下,加一段循環(huán),讓其能遍歷遠(yuǎn)程目錄里的所有文件,然后按照上面的方法依次復(fù)制到本地。

我在代碼中加了一些注釋。修改以后的完整代碼如下:

import os
import paramiko

def RemoteScp(host_ip, host_port, host_username, host_password, remote_path, local_path):
  scp = paramiko.Transport((host_ip, host_port))
  scp.connect(username=host_username, password=host_password)
  sftp = paramiko.SFTPClient.from_transport(scp)
  try:
    remote_files = sftp.listdir(remote_path)
    for file in remote_files:  #遍歷讀取遠(yuǎn)程目錄里的所有文件
      local_file = local_path + file
      remote_file = remote_path + file
      sftp.get(remote_file, local_file)
  except IOError:  # 如果目錄不存在則拋出異常
    return ("remote_path or local_path is not exist")
  scp.close()


if __name__ == '__main__':
  host_ip = '192.168.1.123'    # 遠(yuǎn)程服務(wù)器IP
  host_port = 22          # 遠(yuǎn)程服務(wù)器端口
  host_username = 'root'      #遠(yuǎn)程服務(wù)器用戶(hù)名
  host_password = 'password'    #遠(yuǎn)程服務(wù)器密碼
  remote_path = '/tmp/'      #這個(gè)是遠(yuǎn)程目錄
  local_path = '/tmp/'       #這個(gè)是本地目錄
  RemoteScp(host_ip, host_port, host_username, host_password, remote_path, local_path) #調(diào)用方法

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python中requests、aiohttp、httpx性能比拼

    Python中requests、aiohttp、httpx性能比拼

    本文主要介紹了Python中requests、aiohttp、httpx性能比拼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • Python機(jī)器學(xué)習(xí)之KNN近鄰算法

    Python機(jī)器學(xué)習(xí)之KNN近鄰算法

    KNN可以說(shuō)是最簡(jiǎn)單的分類(lèi)算法之一,同時(shí),它也是最常用的分類(lèi)算法,文中非常詳細(xì)的介紹了該算法,對(duì)正在學(xué)習(xí)python的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-05-05
  • Python實(shí)現(xiàn)的一個(gè)自動(dòng)售飲料程序代碼分享

    Python實(shí)現(xiàn)的一個(gè)自動(dòng)售飲料程序代碼分享

    這篇文章主要介紹了Python實(shí)現(xiàn)的一個(gè)自動(dòng)售飲料程序代碼分享,就是用python實(shí)現(xiàn)的生活中一種投幣式自動(dòng)售飲料機(jī)的內(nèi)部程序判斷代碼,需要的朋友可以參考下
    2014-08-08
  • 關(guān)于Python中異常(Exception)的匯總

    關(guān)于Python中異常(Exception)的匯總

    異常是指程序中的例外,違例情況。異常機(jī)制是指程序出現(xiàn)錯(cuò)誤后,程序的處理方法。當(dāng)出現(xiàn)錯(cuò)誤后,程序的執(zhí)行流程發(fā)生改變,程序的控制權(quán)轉(zhuǎn)移到異常處理。下面這篇文章主要匯總了關(guān)于Python中異常(Exception)的相關(guān)資料,需要的朋友可以參考下。
    2017-01-01
  • Python編程之基于概率論的分類(lèi)方法:樸素貝葉斯

    Python編程之基于概率論的分類(lèi)方法:樸素貝葉斯

    這篇文章主要介紹了Python編程之基于概率論的分類(lèi)方法:樸素貝葉斯,簡(jiǎn)單介紹了其概述,貝葉斯理論和條件概率,以及樸素貝葉斯的原理等相關(guān)內(nèi)容,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • OpenCV(python)版實(shí)現(xiàn)文本分割之水平投影法

    OpenCV(python)版實(shí)現(xiàn)文本分割之水平投影法

    本文主要介紹了OpenCV(python)版實(shí)現(xiàn)文本分割之水平投影法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • python 求定積分和不定積分示例

    python 求定積分和不定積分示例

    今天小編就為大家分享一篇python 求定積分和不定積分示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • Python中提升圖片清晰度的四種方法

    Python中提升圖片清晰度的四種方法

    這篇文章主要為大家詳細(xì)介紹了Python中提升圖片清晰度的四種常用方法,文中的示例代碼簡(jiǎn)潔易懂,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-02-02
  • 使用pandas模塊讀取csv文件和excel表格,并用matplotlib畫(huà)圖的方法

    使用pandas模塊讀取csv文件和excel表格,并用matplotlib畫(huà)圖的方法

    今天小編就為大家分享一篇使用pandas模塊讀取csv文件和excel表格,并用matplotlib畫(huà)圖的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • Python使用Pexpect庫(kù)實(shí)現(xiàn)自動(dòng)化與終端交互的任務(wù)

    Python使用Pexpect庫(kù)實(shí)現(xiàn)自動(dòng)化與終端交互的任務(wù)

    Pexpect 是一個(gè) Python 庫(kù),用于自動(dòng)化與終端交互的任務(wù),它提供了一種簡(jiǎn)單的方式來(lái)編寫(xiě)腳本,以便與終端程序進(jìn)行交互,下面我們就來(lái)深入了解一下Pexpect庫(kù)的具體使用吧
    2023-12-12

最新評(píng)論

吉安市| 皮山县| 康保县| 江津市| 温宿县| 吐鲁番市| 新乡市| 龙川县| 五家渠市| 岳普湖县| 鄯善县| 阜康市| 旺苍县| 勐海县| 灵武市| 青海省| 高阳县| 福海县| 名山县| 宁海县| 伽师县| 封丘县| 静乐县| 武胜县| 定远县| 杂多县| 青阳县| 蓝田县| 莱芜市| 台南市| 南靖县| 饶阳县| 罗源县| 泸水县| 彰武县| 方城县| 秭归县| 罗江县| 白河县| 彭阳县| 清原|