文章目录1.前言2.创建脚本3.导入解析模块4.初始化、添加参数、解析参数4.运行脚本5.通过脚本实现计算功能 1.前言 本节,将讲解如何通过命令行传递参数。具体以代码形式讲解,保您一看就懂! 2.创建脚本 创建一个脚本命名为argparse_optional_argument.py,以便一会儿在terminal运行,注意,不能用Jupyter Notebook,它不能在terminal运行!! 3.导入解析模块 import argparse #导入模块 4.初始化、添加参数、解析参数 在argparse模块中调用ArgumentParser()类并实例化。 给通过add_argum 【Python高阶——argparse(命令行与参数解析)】 在Python编程中,有时我们需要通过命令行接口执行脚本,并且可能需要向这些脚本传递参数。`argparse`模块是Python标准库中的一个功能强大的命令行选项、参数和子命令解析器,它可以帮助我们轻松地构建命令行界面。下面我们将详细探讨如何使用`argparse`来处理命令行参数。 1. **前言** 在编写命令行工具或脚本时,我们经常需要接收来自用户的输入,例如文件路径、数字值或操作类型等。`argparse`模块使得在Python中实现这一功能变得简单。它不仅能够解析命令行参数,还能生成有用的帮助和使用信息。 2. **创建脚本** 创建一个名为`argparse_optional_argument.py`的Python脚本,这样我们可以在终端中运行它。由于Jupyter Notebook不支持直接在终端运行,因此我们需要使用文本编辑器创建一个独立的Python文件。 3. **导入解析模块** 在脚本中,首先需要导入`argparse`模块: ```python import argparse ``` 4. **初始化、添加参数、解析参数** 使用`argparse`的基本流程如下: - 实例化`ArgumentParser`对象,通常在`if __name__ == '__main__':`语句块内完成,这可以确保脚本作为主程序运行时才会执行这部分代码。 - 使用`add_argument()`方法添加需要解析的参数。例如,我们可以添加两个浮点数参数`-n`和`-i`,以及一个操作符参数`-o`: ```python parser = argparse.ArgumentParser(description="my math script") parser.add_argument('-n', '--num1', help="Number 1", type=float) parser.add_argument('-i', '--num2', help="Number 2", type=float) parser.add_argument('-o', '--operation', help="provide operator", default='+') ``` - 调用`parse_args()`函数来解析命令行参数,并将其结果存储在一个`Namespace`对象中,通常命名为`args`: ```python args = parser.parse_args() ``` - 之后,我们可以通过`args`对象访问解析到的参数,例如`args.num1`、`args.num2`和`args.operation`。 5. **运行脚本** 运行包含`argparse`参数解析的Python脚本时,需要在命令行提供参数。例如,如果我们想要相加两个数字,可以运行: ``` python argparse_optional_argument.py -n 3 -i 5 -o + ``` 6. **通过脚本实现计算功能** `argparse`允许我们根据解析到的参数执行不同的计算。在上面的示例中,我们检查`args.operation`的值,然后执行相应的数学运算。如果用户没有提供操作符,`default`参数确保有一个默认操作(这里是加法)。例如: ```python if args.operation == '+': result = args.num1 + args.num2 elif args.operation == '-': result = args.num1 - args.num2 elif args.operation == '*': result = args.num1 * args.num2 elif args.operation == 'pow': result = pow(args.num1, args.num2) print("Result : ", result) ``` 通过`argparse`,我们可以创建具有复杂选项和参数的命令行工具,同时提供易于理解的用户帮助。这个模块使得在Python中构建命令行界面变得更加简单,使得我们的脚本更易于使用和维护。在实际开发中,可以根据需求自定义参数类型、默认值、必需性、约束等,让脚本更加灵活和强大。
























- 粉丝: 1
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 金工机械数控自动化实习日志-机械-20篇-每篇300字(1).doc
- 高校计算机应用教学中激励策略的运用(1).docx
- 利用网络与计算机技术改进医院财务管理水平(1).docx
- 有关微型计算机商品买卖合同计算机集成合同计算机集成合同(1).docx
- 刍议我国互联网经济的盈利模式(1).docx
- 信息化手段在农村经济管理中的应用初探(1).docx
- 医学硕士研究生《多元统计方法及程序设计》课程的考核方式改革与(1).docx
- 软件工程文档(1).doc
- 互联网公司岗位晋升模型(1).ppt
- 企业档案管理信息化研究(1).docx
- 互联网金融模式下小微企业的融资问题探讨(1).docx
- 计算机组成与结构第八章(1).ppt
- 【推荐下载】工业网络通信标准之路-我国提议曾被被否定(1).pdf
- 本科毕设论文-—基于plc的全自动包装机系统设计(1).doc
- EN-1Transformer专题培训课件(1).pptx
- 浅析人工智能技术在机械电子工程领域的应用(1).docx


