• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Python 批量操作设备的实现步骤

    全民编程的时代,怎么能少了测试同学的身影。最近在学习Python,刚好活学活用,来实战一波

    背景需求

    某天午休未睡醒的我,突然接到一个Leader在群里@小盆,把平台上100台设备硬盘都上传一套多媒体文件,线上任务需要进行测试。

    - 方案一

    如果本人勤快且工作任务不多的话,可能就哼哧哼哧,一台一台设备操作着

    不行阿,我这边手上还有其他任务呢,交付日期也是今天,这样做太浪费时间了吧,方案一被否决
    按照传统的步骤,重复且低效,哪我去找开发去把相应的接口要过来吧

    - 方案二

    试了一两次,这也太繁琐了吧,每请求一台设备,就要更改下一台的设备IP,整个过程也没有节省多少时间阿。
    内心困惑之时,我这不正在学习了Python,让Python来帮我做事吧,节省下的时间好好放松一下(^-^)V,想到的方案三

    方案三

    好呐,这还差不多,话不多说,行动吧

    准备工作

    我们需要准备的环境

    IDE:Pycharm
    version: Python3.7

    Python相关的库

    前提:

    分析接口请求方式、请求参数、body和返回信息(示例)

    上传文件接口:  /api/Manager/dev/filetousb
    请求方式: POST
    请求参数: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库模拟网络请求给设备端

    Body内容是JOSN的格式,因此需要使用Python内置的josn库

    100台设备都是不同IP,所以提前找到设备IP列表相信息,放到text文件里,则需要使用Python文件管理去一行一行去读取放到列表里,这样方便传值进行请求

    动手操作

    经过上面的准备和分析,期间还去查了资料,(太菜了,盲人摸河一步一步的做)

    三下五除二,一番实现调试,写下初级小白的脚本(大佬们帮忙看看,指教指教)

    import requests
    import json
    
    #使用的接口
    usbfile = "/api/Manager/dev/filetousb"
    #body内容,需要上传的文件
    mediafile = {
                    "action":"start",
                    "file:[
                    {
                    "fileurl":"http://10.22.26.21/sw_bin/media/JueJing.jpg",
                     "filename":"JueJing.jpg",
                     "directory":"",
                     "filemd5":"12345678910999"
                    }
                    ]
                }   
    
    #定义空的deviceiplist,用来添加测试设备的IP
    
    deviceiplist = []
    
    # 接口请求实现方法
    
    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()
    
    # 执行循环请求100次
    for i in range(100):
    
        print(iplist[i])
        
        time.sleep(10)
        # 上传多媒体文件
        # do_post(deviceiplist[i],usbfile,mediafile)

    运行过程,我们就拿着省下来的时间来,搞其他事情,争取早点下班(笑哭.jpg)
    本次时间,比较紧急,脚本写的也比较简单,如果有更好的技能,欢迎大家多多留言,让我这个小白增加眼界。

    总结

    到此这篇关于Python 批量操作设备的实现步骤的文章就介绍到这了,更多相关Python 批量操作设备内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • python批量创建变量并赋值操作
    • python UDF 实现对csv批量md5加密操作
    • Python操作Word批量生成合同的实现示例
    • 使用Python实现批量ping操作方法
    • Python脚本操作Excel实现批量替换功能
    • python批量赋值操作实例
    • python文件操作之批量修改文件后缀名的方法
    上一篇:Python利用PyQt5制作一个获取网络实时数据NBA数据播报GUI功能
    下一篇:Python中gevent模块协程使用
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Python 批量操作设备的实现步骤 Python,批量,操作,设备,的,