溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python 批量操作設備的實現(xiàn)方法

發(fā)布時間:2021-07-07 18:29:47 來源:億速云 閱讀:147 作者:chen 欄目:開發(fā)技術

這篇文章主要講解了“Python 批量操作設備的實現(xiàn)方法”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Python 批量操作設備的實現(xiàn)方法”吧!

目錄
  • 背景需求

    • - 方案一

    • - 方案二

    • 方案三

  • 準備工作

    • 動手操作

      全民編程的時代,怎么能少了測試同學的身影。最近在學習Python,剛好活學活用,來實戰(zhàn)一波

      背景需求

      某天午休未睡醒的我,突然接到一個Leader在群里@小盆,把平臺上100臺設備硬盤都上傳一套多媒體文件,線上任務需要進行測試。

      - 方案一

      如果本人勤快且工作任務不多的話,可能就哼哧哼哧,一臺一臺設備操作著

      • 遠程登陸設備

      • 從本地把文件拷貝到設備中

      • 重復前面兩個步驟

      不行阿,我這邊手上還有其他任務呢,交付日期也是今天,這樣做太浪費時間了吧,方案一被否決
      按照傳統(tǒng)的步驟,重復且低效,哪我去找開發(fā)去把相應的接口要過來吧

      - 方案二

      • 找到相關設備上傳文件的接口

      • 把文件上傳到服務器,生成下載鏈接

      • 使用Postman的工具去請求

      • 重復第三步,更改設備IP請求

      試了一兩次,這也太繁瑣了吧,每請求一臺設備,就要更改下一臺的設備IP,整個過程也沒有節(jié)省多少時間阿。
      內(nèi)心困惑之時,我這不正在學習了Python,讓Python來幫我做事吧,節(jié)省下的時間好好放松一下(^-^)V,想到的方案三

      方案三

      • 找到了相關設備功能接口

      • 找研發(fā)拿到100臺設備詳情(設備都是同樣型號)

      • Python寫腳本

      • 運行,休息

      好吶,這還差不多,話不多說,行動吧

      準備工作

      我們需要準備的環(huán)境

      IDE:Pycharm
      version: Python3.7

      Python相關的庫

      • http庫(request)下載:pip install request

      • josn下載:用于解析URL相關的內(nèi)容

      前提:

      分析接口請求方式、請求參數(shù)、body和返回信息(示例)

      上傳文件接口:  /api/Manager/dev/filetousb
      請求方式: POST
      請求參數(shù):Content-Type = application/json

        Body : {
                    "action":"start",
                    "file:[
                    {
                    "fileurl":"http://10.22.26.21/sw_bin/media/JueJing.jpg",
                     "filename":"JueJing.jpg",
                     "directory":"",
                     "filemd5":"12345678910999"
                    }
                    ]
                }

      關注到多媒體相關的文件都是以鏈接形式的,因此先提前把文件都上傳到服務器,生成了文件鏈接和文件的MD5值

      使用Python request庫模擬網(wǎng)絡請求給設備端

      Body內(nèi)容是JOSN的格式,因此需要使用Python內(nèi)置的josn庫

      100臺設備都是不同IP,所以提前找到設備IP列表相信息,放到text文件里,則需要使用Python文件管理去一行一行去讀取放到列表里,這樣方便傳值進行請求

      動手操作

      經(jīng)過上面的準備和分析,期間還去查了資料,(太菜了,盲人摸河一步一步的做)

      三下五除二,一番實現(xiàn)調(diào)試,寫下初級小白的腳本(大佬們幫忙看看,指教指教)

      import requests
      import json
      
      #使用的接口
      usbfile = "/api/Manager/dev/filetousb"
      #body內(nèi)容,需要上傳的文件
      mediafile = {
                      "action":"start",
                      "file:[
                      {
                      "fileurl":"http://10.22.26.21/sw_bin/media/JueJing.jpg",
                       "filename":"JueJing.jpg",
                       "directory":"",
                       "filemd5":"12345678910999"
                      }
                      ]
                  }   
      
      #定義空的deviceiplist,用來添加測試設備的IP
      
      deviceiplist = []
      
      # 接口請求實現(xiàn)方法
      
      def  do_post(ip,api,data):
      
          headers = {"Content-Type": "application/json"}
      
          url = "http://"+ip+ ":8080" + api
      
          print (url)
      
          try:
              r = requests.post(url,headers = headers,data = json.dumps(data),timeout= 10)
              print(r.status_code)
              print(r.content.decode("utf-8"))
              
          except requests.exceptions.ConnectionError:
          
              requests.status_code = "Connection refused"
      
      #讀取設備IP文件,并添加到列表里
      
      with open( "deviceip.txt","r") as f:
          while True:
              line = f.readline()
              if not line:
                  break
              else:
                  ip = [i for i in line]
                  deviceiplist.append(ip)
                
      f.close()
      
      # 執(zhí)行循環(huán)請求100次
      for i in range(100):
      
          print(iplist[i])
          
          time.sleep(10)
          # 上傳多媒體文件
          # do_post(deviceiplist[i],usbfile,mediafile)

      Python 批量操作設備的實現(xiàn)方法

      運行過程,我們就拿著省下來的時間來,搞其他事情,爭取早點下班(笑哭.jpg)
      本次時間,比較緊急,腳本寫的也比較簡單,如果有更好的技能,歡迎大家多多留言,讓我這個小白增加眼界。

      感謝各位的閱讀,以上就是“Python 批量操作設備的實現(xiàn)方法”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對Python 批量操作設備的實現(xiàn)方法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

      向AI問一下細節(jié)

      免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

      AI