当前位置: 主页 > Python语言

python 批量执行脚本-linux 批量执行脚本

发布时间:2023-02-08 11:12   浏览次数:次   作者:佚名

目录准备

亲自动手

总结

全民编程的时代,怎么能没有测试同学呢。最近在学习Python,刚好学习灵活运用,其实可以打一波

背景需求

某天午休还没睡,突然接到群里的一个Leader@小甲,上传了一组多媒体文件到平台100台设备的硬盘中,在线任务需要测试.

- 选项一

如果我很勤快,工作任务不多,我可能会哼着歌,一项一项地操作

不,我手头有其他任务,交货日期也是今天。 这样做很浪费时间,方案被否决了

按照传统的步骤,重复性低,效率低。 为什么要到开发者那里去获取相应的接口呢?

- 选项二

试过一两次,这样太麻烦了,每次请求一个设备,都要换下一个设备的IP,整个过程并没有节省多少时间。

迷茫的时候,我不是在学习Python,让Python帮我做事,省时省心(^-^)V,我想到的第三个方案

第三种解决方案

好了,差不多了,话不多说,行动吧

准备

我们需要准备的环境

集成开发环境:Pycharm

版本: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请求库模拟网络请求到设备端

body内容是JSON格式,所以需要使用Python内置的josn库

100台设备的IP都不一样,所以提前找出设备IP列表信息放到文本文件中,需要用Python文件管理逐行读取放到列表中,这样就可以了方便为请求传值

亲自动手

经过上面的准备和分析,期间也查了资料,(太好了,盲人一步一步来)

三遍,五师,二,一些调试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)

批量执行sql脚本工具_linux 批量执行脚本_python 批量执行脚本

在跑步的过程中,我们会把节省下来的时间用来做其他事情,争取早点下班(笑哭.jpg)

这次时间比较紧迫,剧本也比较简单。 如果大家有更好的技巧,欢迎大家多多评论python 批量执行脚本,让我这个新手增长见识。

总结

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