首页 > 编程语言 >如何用Python开发一个命令行工具

如何用Python开发一个命令行工具

时间:2024-05-06 13:44:32浏览次数:26  
标签:parser Python args add 参数 命令行 test 工具

如何编写一个python命令行工具

import argparse


def parse_args():
    parser = argparse.ArgumentParser()
    parser.add_argument(
        "-nc", "--test_a", type=int, default=10, help="test A"
    )
    parser.add_argument(
        "-tp", "--test_b", type = int, default=100, help = "test B"
    )
    return parser.parse_args()


def add_numbers(a, b):
    return args.test_a + args.test_b


if __name__ == "__main__":
    args = parse_args()
    result = add_numbers(args.test_a, args.test_b)
    print(result)


argparse模块中,add_argument()方法是用来添加命令行参数的方法。支持多种参数来定义如何解析命令行输入。

1. dest: 指定存放解析后的参数值的属性名。
2. type: 参数所需的类型,如`int`, `float`, `str`等。
3. default: 如果没有指定该参数,该值将用作默认值。
4. nargs: 指出应该收集多少个命令行参数。
5. choices: 参数必须是指定范围内的值。
6. required: 是否该参数是必须的。
7. help: 参数的帮助信息。
8. metavar: 在帮助信息和错误消息中,用于表示参数名的占位符。
9. action: 指定如何处理该参数,如`store_true`, `store_false`, `append`, `count`等。
10. option_strings: 用于命令行的短选项和长选项前缀。
11. version: 如果是`--version`,则打印版本信息并退出。
12. formatter_class: 用于自定义帮助信息的格式。
13. conflict_handler: 解决参数间的冲突。
14. required: 标记该参数是否必须被提供。
15. choices: 指定可选参数的列表。

  

这个代码是一个命令行应用程序,用于将两个数相加。使用了 Python 内置的 argparse 模块来处理命令行参数。

在代码中,首先定义了一个 add_numbers 函数,用于执行两个数的相加操作。

然后,我们使用 argparse.ArgumentParser 创建一个参数解析器。

接下来,使用 parser.parse_args() 解析命令行参数,并将结果存储在 args 对象中。

最后,我们调用 add_numbers 函数,传入 args.test_a 和 args.test_b 作为参数,计算它们的和,并将结果打印出来。

在命令行中运行这个脚本,并提供两个整数参数来查看结果。例如:

标签:parser,Python,args,add,参数,命令行,test,工具
From: https://www.cnblogs.com/pywen/p/18174767

相关文章

  • Python高阶---魔法方法
    魔法方法:通过dir(函数名)查看到的方法中以双下划线开始,以双下划线结束的方法。=========================================classStudent:definit(self,name,age):"""负责初始化类的实例,实例是由__new__方法传递过来的,也就是这里的self:paramname::paramage:"""self......
  • 好用的小工具收集
    编程代码菜鸟教程-学的不仅是技术,更是梦想!SQLite3–Python菜鸟教程HDF5forPython免费好用的AI编程助手FittenCode-支持VSCode数据处理WebPlotDigitizer-从图像中提取数据点......
  • Python文本统计与分析从基础到进阶
    本文分享自华为云社区《Python文本统计与分析从基础到进阶》,作者:柠檬味拥抱。在当今数字化时代,文本数据无处不在,它们包含了丰富的信息,从社交媒体上的帖子到新闻文章再到学术论文。对于处理这些文本数据,进行统计分析是一种常见的需求,而Python作为一种功能强大且易于学习的编程语言......
  • [数据分析与可视化] Python绘制数据地图3-GeoPandas使用要点-转载
    [数据分析与可视化]Python绘制数据地图3-GeoPandas使用要点 本文主要介绍GeoPandas的使用要点。GeoPandas是一个Python开源项目,旨在提供丰富而简单的地理空间数据处理接口。GeoPandas扩展了Pandas的数据类型,并使用matplotlib进行绘图。GeoPandas官方仓库地址为:GeoPandas。Ge......
  • 208. 实现 Trie (前缀树)-python
    Trie(发音类似"try")或者说前缀树是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补完和拼写检查。请你实现Trie类:Trie()初始化前缀树对象。voidinsert(Stringword)向前缀树中插入字符串word。booleansearch(St......
  • 盘点效率工具RunFlow那些容易被忽略的功能
    本文我们将带您了解RunFlow有哪些容易被忽略、但是又非常实用的功能。还不了解RunFlow?从这里开始了解。固定工作窗口您还可以通过双击Ctrl键来切换窗口固定状态,您也可以在热点事件设置页面自定义该快捷键。预览菜单内容用浏览器打开剪贴板复制的URL多行输入按......
  • 207. 课程表-python
    你这个学期必须选修numCourses门课程,记为0到numCourses-1。在选修某些课程之前需要一些先修课程。先修课程按数组prerequisites给出,其中prerequisites[i]=[ai,bi],表示如果要学习课程ai则必须先学习课程bi。例如,先修课程对[0,1]表示:想要学习课程0,你......
  • 班级擂台(光荣)榜 - 极简教育小工具
        擂台(光荣)榜是一款高效的工具,能够迅速展示学生在各个时期的总得分排名。用户可以根据左上角的日期搜索特定时间段内班级学生的排名,也可以根据右上角的“本周”、“上周”、“本月”和“上月”快速定位近期学生的综合名次。在主界面的左侧,系统会自动汇总各小组成员的得......
  • python雨滴数浓度计算
    前面已经将32×32的数据删除了不需要的列,数据变成了32×21的数据excel的粒径为了匹配txt的32行数据,我进行了重复复制,将excel变成下图: 那么采用数浓度公式:代码:#-*-coding:utf-8-*-"""@author:SuYue@file:shunongdu.py@time:2024/04/30@desc:"""importnumpya......
  • pipenv-基本使用手册 解决python包版本冲突
    https://pipenv.pypa.io/python使用pip安装包,默认都是在全局包,当A项目使用openai0.29,B项目使用openai1.10,这个时候,就会出现两个项目只能运行一个的情况。如果安装1.10,会把原来0.29的版本更新掉,导致原来A项目就运行不了。刚接触python,很好奇为啥没有像npm一样的......