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

news/2024/10/8 11:00:12

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

import argparsedef 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_bif __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 作为参数,计算它们的和,并将结果打印出来。

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

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

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

相关文章

[UE 虚幻插件 DTPostgreSQL] PostgreSQL Connector 使用蓝图连接操作 PostgreSQL 数据库说明

本插件主要是支持在UE蓝图中连接和操作PostgreSQL 数据库。下载连接在文章最后。数据库连接 【 Create Postgre SQL 】输入:Host:数据库IP地址。Port: 数据库开放端口。User: 数据库用户名。Password:数据库密码。DBName:指定连接的数据库库名。输出:Success:返回数据库是…

endnote引用不成功,不显示1,2,3,引用却是字母

https://blog.csdn.net/kellyroslyn/article/details/113943394

基于WOA优化的CNN-LSTM-Attention的时间序列回归预测matlab仿真

1.算法运行效果图预览 优化前:优化后: 2.算法运行软件版本 matlab2022a3.算法理论概述时间序列回归预测是数据分析的重要领域,旨在根据历史数据预测未来时刻的数值。近年来,深度学习模型如卷积神经网络(Convolutional Neural Network, CNN)、长短时记忆网络(Long Short…

胜诉退费 All In One

胜诉退费 All In One 2007年4月1日起施行的《诉讼费用交纳办法》第53条规定:案件审结后,人民法院应当将诉讼费用的详细清单和当事人应当负担的数额书面通知当事人,同时在判决书、裁定书或者调解书中写明当事人各方应当负担的数额。需要向当事人退还诉讼费用的,人民法院应当…

Git——分支管理(2)

Git——分支管理(2) 提示:图床在国外且动图比较多的情况下,需要时间加载。 目录: 目录Git——分支管理(2)提示:图床在国外且动图比较多的情况下,需要时间加载。目录:Git基础Git的分支与HEADGit的存储机制Git的分支指针Git的远程仓库Git的远程分支管理远程分支和本地仓…

super self

在一本过时的django里看到一段代码: class PublishedManager(models.Manager):def get_queryset(self): return super(PublishedManager, self).get_queryset().filter(status=published)心想这写的这是啥啊,难道是递归?太复杂了! 认真学习之后才知道,super有两个参数,第…

2024 年 5 月 5 日 周日 晴 常(245 字)

正文今天值班,但是睡到 9:30 才醒。副行长在我睡觉的时候打电话,说他有事待会儿来。我一听这话,肯定就不会来了,果然不出所料(笑。下午 16:00 早退,反正值班没人管,17:00 有点困,便睡了一觉。以为最多睡到 18:30,结果睡到了 19:30……弄好了灵送的绿植和透明板。研究了…

IDE Eval Reset 重置

配置插件库https://plugins.zhile.io