Jenkins定时构建自动化(四):Python 的 argparse 模块

news2024/9/20 16:49:10

目录

一、主要功能和用途

二、核心类和方法

三、总结

四、argparse模块示例


Jenkins定时构建自动化(一):Jenkins下载安装配置-CSDN博客

Jenkins定时构建自动化(二):Jenkins的定时构建-CSDN博客

Jenkins定时构建自动化(三):手动+定时构建执行本地+运行代码不需要传参-CSDN博客

注:下面这段内容如果无法理解没关系,后期可以慢慢学习,无法理解直接看下面的实例就好,照搬使用不耽误。

        argparse 是 Python 标准库中用于解析命令行参数和生成帮助信息的模块。它可以帮助开发者轻松地编写用户友好的命令行界面,处理用户输入的参数,并提供详细的帮助文档。

一、主要功能和用途

  • 定义参数:

        使用 argparse.ArgumentParser 类来创建一个参数解析器对象。

        通过调用 add_argument 方法添加各种命令行参数及其属性,例如参数名称、类型、是否必需、帮助信息等。

  • 解析和验证参数:

        调用解析器的 parse_args 方法来解析命令行参数。

        argparse 会自动处理参数类型转换和验证,如果参数不符合预期的类型或选项,会生成错误消息。

  • 生成帮助信息:

        自动根据 add_argument 方法的设置生成帮助信息,包括参数的描述、使用示例等。

        通过在命令行输入 -h 或 --help 可以显示生成的帮助信息,帮助用户了解如何使用程序和参数。

二、核心类和方法

  •  argparse.ArgumentParser:

        这是参数解析器的核心类。通过创建该类的实例来定义命令行参数。

        可以指定程序的描述信息、帮助信息等。

  • add_argument 方法:

        add_argument(name or flags...[, action][, nargs][, const][, default][, type][, choices][, required][, help][, metavar][, dest]):

        name or flags:参数名称或选项。

        action:参数动作,例如存储值或统计参数出现次数。

        nargs:参数的个数,例如可接受多个值。

        const:某些动作和 nargs 之外需要的常数。

        default:如果未传递此参数,则使用的值。

        type:要转换的命令行参数的类型。

        choices:可接受的值的列表或范围。

        required:是否必须提供此参数。

        help:关于参数的简短描述。

        metavar:在帮助文本中使用的参数名称。

        dest:要存储结果的属性名称。

三、总结

        argparse 模块为 Python 程序提供了强大的命令行参数处理功能,能够有效地管理用户输入,提供友好的用户界面和错误处理,是开发命令行工具和脚本的重要工具之一。通过合理使用 argparse,可以使得程序更易于使用和维护,同时提高用户体验。

四、argparse模块示例

import os
import argparse


class Jenkins_Database:
    def __init__(self):
        self.connection = None

    def jenkins_run_data(self):
        """
        jenkins运行数据
        :return:
        """
        parser = argparse.ArgumentParser(description='Process some parameters.')
        parser.add_argument('--parameter_1', type=str, required=True, help='参数1')  # 字符串  str
        parser.add_argument('--parameter_2', type=int, required=True, help='参数2')  # 整型    int
        parser.add_argument('--parameter_3', type=str, required=True, help='参数3')
        parser.add_argument('--parameter_4', type=int, required=True, help='参数4')
        args = parser.parse_args()

        # 拼接成 values_data 字典
        data = {
            '参数1': args.parameter_1,
            '参数2': args.parameter_2,
            '参数3': args.parameter_3,
            '参数4': args.parameter_4,
        }
        return values_data
        
if __name__ == "__main__":
    jenkins_db = Jenkins_Database()  # 创建 Jenkins_Database 的实例
    values_data = jenkins_db.jenkins_run_data()  # 通过实例调用方法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1858426.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【服务器08】之【游戏框架】之【加载主角】

首先简单了解一下帧率 FixedUpdate( ) > Update( ) > LateUpdate( ) 首先FixedUpdate的设置值 默认一秒运行50次 虽然默认是0.02秒,但FiexedUpdate并不是真的0.02秒调用一次,因为在脚本的生命周期内,FixedUpdate有一个小循环&…

嵌入式开发板屏幕显示汉字

一、实验目的 1.编写能够在嵌入式开发板LCD上显示汉字的程序; 2.在Ubuntu系统中编译上述程序生成可执行文件; 3.到开发板中验证。 二、实验步骤 1. Ubuntu系统上编写验证程序 Ubuntu系统上编写的验证程序如下&…

【亲测好用】神级PSAI插件大揭秘:三款创成式修图神器,让你解放双手

PsBeta被停用后,小编一直想找到能够平替PsBeta创成式填充功能的插件。 功夫不负有心,终于被我找到啦,现在就给大家揭秘这三款宝藏修图神器,希望能够帮到大家。 1.插件名称:Starai 无需科学上网,还自带提示…

文库小程序搭建部署:实现资源共享正向反馈

文档库相信大家应该不陌生,日常我们的工作模板、会议模板、求职时的简历模板、教育界的教学模板等来源方式都出自于文档库,随着互联网的发展和工作需求,文档模板开启了新型的知识变现新途径,通过文库小程序,我们不仅能…

RS-485和RS-422通信的3.3V低功耗收发器MAX3483

描述 多数公司的MAX3483速率为:250kbps; Analog Devices公司的MAX3483速率为10Mbps。 国产MAX3485外观和丝印 该MAX3483ESA为15kV ESD保护、3.3V、低功耗收发器,用于RS-485和RS-422通信。 每个设备包含一个驱动器和一个接收器。 该MAX3483E…

0624_ARM1

思维导图:

10分钟安装好torch的GPU版本(Windows)

pytorch-gpu 1. 确定cuda版本2. 确定Python版本3 开始下载-cu118-cp383.1 下载cuda3.2 下载torchvision 4.下载好了5.开始安装6. 开始验证 1. 确定cuda版本 nvcc -V 版本为11.8 , 一会下载的版本为cu118 2. 确定Python版本 确定python版本为为3.8,一会下载为cp38 3 …

Web自动化介绍以及8种元素定位方式

自动化理论 回归测试: 在进行软件升级、修改或修复bug后,对系统进行回归测试,以确保修改过的部分没有引入新的问题或破坏其他功能。回归测试通常是自动化执行的,并且可以通过比较测试前后的结果来确定系统的稳定性。 压力测试&am…

Android Studio 编译无错误 运行无结果一例

好长时间没写Android 代码了,基本规则也忘了。终于在编译成功了,然而运行毫无结果,debug跟踪断点也没有触发。屏幕赫然写着,execute successfully! 。 进行了各种检查,毫无进展。最后,试着重启一下AS&#…

APP启动流程

文章目录 主要构成详细启动流程参考链接 主要构成 App的启动流程主要涉及几个关键步骤和组件的交互,包括Launcher进程、ActivityManagerService(AMS)、Zygote进程、以及App进程本身。以下是详细的启动流程: 用户操作:…

【代码随想录】【算法训练营】【第49天】 [300]最长递增子序列 [674]最长连续递增序列 [718]最长重复子数组

前言 思路及算法思维,指路 代码随想录。 题目来自 LeetCode。 day 49,周二,坚持不了一点~ 题目详情 [300] 最长递增子序列 题目描述 300 最长递增子序列 解题思路 前提: 思路: 重点: 代码实现 C…

基于Pytorch框架构建LeNet-5模型

Pytorch 一、训练模型1.导入必要的库2.设置超参数3.数据预处理4.读取数据 二、定义卷积神经网络1.定义卷积神经网络2.定义学习率3.实例化模型并且移动到GPU4.选择优化器 三、定义调整学习率的函数1.定义调整学习率的函数 四、训练模型1.设置模型为训练模式2.遍历训练数据加载器…

北邮《计算机网络》网络层笔记

文章目录 单词复习网络层前言路由算法(构造路由表的算法)静态路由算法自适应算法 拥塞控制QoS 服务质量(小小的一节)网络互联(还是小小的一节)Internet 单词复习 estimates boot off-line in advance refl…

揭秘循环购:消费即收益,如何助力商家月销百万?

大家好,我是吴军,今天要和大家分享一种颠覆性的商业模式——循环购。你是否听说过“消费1000送2000”这样的促销活动?是不是觉得太不可思议,商家岂不是在“送钱”?别急,让我为你揭开这背后的秘密。 循环购&…

web前端——HTML

目录 一、HTML概述 1.HTML是什么? 2.HTML具体化解释 二、HTML基本语法 1.声明 2. Head头标签 3.body身体标签 4.一个html的基本结构 5.标签 6.标签属性 ①属性的格式 ②属性的位置 ③添加多个属性 三、基本常用标签 1.超链接 2.图像标签 ①图像标…

从赛题切入谈如何学习数学建模

1.引言 (1)今天学习了这个汪教授的这个视频,主要是对于一个赛题的介绍讲解,带领我们通过这个赛题知道数学建模应该学习哪些技能,以及这个相关的经验,我感觉这个还是让我自己受益匪浅的 (2&…

docker 配置与使用

目录 安装docker 作者遇到的问题1:安装docker 错误说明 解决方法: 作者遇到问题2:GPG密钥问题 问题说明 解决方法: 方法一:使用备用的GPG密钥服务器 方法二:使用国内镜像源 方法3:手动下…

项目性能优化之给dist文件夹中chunk-vendors.js做splitChunks分包,从而减少首屏加载时间

问题描述 我们项目做完,验收通过以后,就需要打包发布上线啦。于是我们执行命令:npm run build打dist包,打包完以后截图如下: 直接打包的chunk-vendors.js太大了 chunk-vendors.js文件太大了,所以我们需要将其优化一下,拆分一下 chunk-vendors.js是啥 chunk-vendors.j…

springboot+vue+mybatis穷游管理系统+PPT+论文+讲解+售后

随着现在网络的快速发展,网上管理系统也逐渐快速发展起来,网上管理模式很快融入到了许多企业的之中,随之就产生了“基于vue的穷游管理系统”,这样就让基于vue的穷游管理系统更加方便简单。 对于本基于vue的穷游管理系统的设计来说…

数据挖掘概览

数据挖掘(Data Mining)就是从大量的,不完全的,有噪声的,模糊的,随机的实际应用数据中,提取隐含在其中的,人们事先不知道的,但又是潜在有用的信息和知识的过程. 预测性数据挖掘 分类 定义:分类就是把一些新的数据项映射到给定类别中的某一个类别 分类流程&#x…