首页 > 编程语言 >我用ChatGPT写了一个简单的Python自动化测试脚本

我用ChatGPT写了一个简单的Python自动化测试脚本

时间:2023-05-27 18:11:35浏览次数:50  
标签:仿真 shell Python rtl cmd 我用 ChatGPT

0 前言

有时候因为要跑很多rtl的仿真,而现有的资源比较有限,每次都需要等一批rtl仿真结束后,才可以执行下一批,尤其是碰到最末的时候,一批rtl仿真结束,要是在打开电脑去run下一批,确实挺不方便的

一度想着要是有个脚本就好了,奈何自己Python确实不行,刚好最近有大火的ChatGPT,就用ChatGPT辅助写了个脚本

1 应用场景和思路介绍

每个人的仿真资源是有限的,就比如分配给我的资源是10个,那么我一次最多可以丢10个rtl仿真,空闲的资源数量可以通过shell cmd打印出来

我现在需要的情景是,一次丢多个rtl仿真,但前后只需要丢两次rtl仿真,因此,我可以在第一次丢rtl仿真后,运行脚本,等第一次丢的rtl仿真完成后,自动丢第二次rtl仿真

因此大题思路如下:(均基于丢完第一次rtl仿真)

1、执行shell cmd,并将内容写入一个文档中

2、 读取文档内容,根据正则表达式,提取当前占用资源的数值

3、比对该数值与设定阈值的大小,判断是进行下一次的rtl仿真,还是等待若干小时进行下次读取状态

大概就是这样,下面给出Python代码

2 Python代码

#!/usr/bin/env python

import subprocess
import re
import time

status_cmd = '查看状态的shell指令'
threshold =    #状态值, int型
excute_cmd = '符合条件后执行的shell指令'
sleep_time = #每隔多久检查一次, int型,单位:小时
find_str = r'指定查找的内容'

#定义子函数
def extr_num(find_str):
    subprocess.call(status_cmd > 'file.txt', shell=True) #执行shell cmd,并将内容写入 file.txt文件中
    
    with open('file.txt', 'r') as f:
        cont = f.read()
       
    match = re.search(find_str, cont)
    
    if match:
        num = int(match.group(1))
        if num > threshold:
            return num
        else:
            subprocess.call(excute_cmd, shell=True)
            return None
     else:
         print('Error >_<')
         return None
    
#主函数执行
result = extr_num(find_str)

while result is not None:
    print("等待 n 小时再次获取状态 ...")
    print(time.strftime('%Y-%m-%d  %H-%M-%S', time.localtime()))
    time.sleep(sleep_time * 60 * 60)
    result = extr_num(find_str)
 
#执行完后,删除file.txt
subprocess.call('rm -f file.txt', shell=True)

具体每个库函数啥作用,有啥需要注意的咱也不懂,毕竟对Python也没那么了解,反正能用,嘿嘿...

标签:仿真,shell,Python,rtl,cmd,我用,ChatGPT
From: https://www.cnblogs.com/ICcode/p/17437111.html

相关文章

  • Python潮流周刊#3:PyPI 的安全问题
    你好,我是豌豆花下猫。这里记录每周值得分享的Python及通用技术内容,部分为英文,已在小标题注明。(标题取自其中一则分享,不代表全部内容都是该主题,特此声明。)文章&教程1、掌握Python面向对象编程的关键:类与对象介绍类和对象概念,通过示例展示Python中的类和对象如何工作,包括定义......
  • Python 爬虫神器 requests 工具
    一、模块安装pipinstallrequests二、常用方法在实际的爬虫中,其实真正用到的只有GET、POST,像其他的方法基本用不到,比如:DELETE、HEAD、PUT等。1、GET方法headers={'user-agent':'my-app/0.0.1'}payload={'key1':'value1','key2':'value2'}re......
  • PyCharm 版本2020.3 如何设置默认的python版本 以及 对应的依赖镜像源
    要在PyCharm2020.3中设置默认的Python版本以及依赖镜像源,请按照以下步骤进行操作:设置默认的Python版本:打开PyCharm,并打开您的项目。点击菜单栏上的"File"(文件)选项,然后选择"Settings"(设置)。在弹出的窗口中,展开"Project:YourProjectName"(项目:您的项目名)。点击"ProjectI......
  • Python丨tkinter开发常用的29种功能用法(建议码住)
    在Python软件开发中,tkinter中command功能的作用是为按钮、菜单等组件绑定回调函数,用户操作该组件时会触发相应的函数执行。本文涵盖了各种组件和功能:1、为Button组件(按钮)绑定回调函数importtkinterastkdefsay_hello():print("HelloWorld!")root=tk.Tk()......
  • 华为ISDP:从ChatGPT说起,企业作业数字化转型需要怎样的平台工具?
    在各行各业轰轰烈烈的数字化转型浪潮中,企业一方面需要实现自身数字化转型以向客户提供更好的业务体验,提升效率,另一方面需要发挥数字化杠杆作用使能企业成本降低,增强行业竞争力。在2023年第20届华为分析师大会开幕式上,华为轮值董事长孟晚舟分享了分享数字化转型三个核心洞见,她指出华......
  • 重塑Windows!微软王炸更新:操作系统全面接入ChatGPT,Bing也能用插件了
    一夜之间,微软彻底重新定义了PC交互。因为这一次,它把Bing和ChatGPT插件的能力,注入到了整个Windows系统!这就是在刚刚结束的Build2023中,微软重磅推出的WindowsCopilot。有了它,想让自己的PC变得更适合工作,就只需要一个简单的动作——问:如何调整我的系统,(以便更好地)来完成工作?然后Windo......
  • 花朵识别系统Python实现,基于深度学习卷积神经网络算法
    一、背景花朵识别系统,基于Python实现,深度学习卷积神经网络,通过TensorFlow搭建卷积神经网络算法模型,并对数据集进行训练最后得到训练好的模型文件,并基于Django搭建可视化操作平台。在当今信息化社会,图像识别技术在各种领域都展现出了重要的应用价值,包括医学影像分析、自动驾驶、人脸......
  • python内置库--hashlib
    1关于hashlib与hash算法python的hashlib提供了对hash算法的的支持,常见的算法有MD5SHA1SHA224等,对不同的算法,hashlib提供了一些通用的函数,以方便我们的使用hash算法个人理解是,它可以将任意长度的二进制值变为固定长度的二进制值。通常,这个固定长度的二进制值叫做hash值,也叫......
  • Python格式化字符串
    Python为我们提供了四种格式化字符串的办法,分别是:%运算符字符串format格式化字符串字面值模板字符串%运算符这种方法最常见,简单略过s="Thisis%s'sblog"%"结了冰的可乐"print(s)使用%运算符格式化字符串的语法是format%values。format是一个字符串,values可以......
  • Python 列表使用
    一、列表推导式(1)条件推导式value1:如果条件表达式condition成立,返回value1;如果条件表达式不成立,返回value2;condition:条件表达式Value2:如果条件表达式condition成立,返回value1;如果条件表达式不成立,返回value2;value1ifconditionelseValue2如,判断一个数是偶数......