Python中命令行参数argparse模块的使用

一、介绍

Python中有一个很强大的命令行参数解析模块 argparse ,使用 argparse 可以非常方便地解析命令行参数并生成帮助信息。argparse 模块可以自动生成帮助信息,还可以自动检查参数和选项的类型以及输入的值是否合法。

二、基本使用

在使用 argparse 之前,需要先导入 argparse 库:

import argparse

接下来,创建一个 ArgumentParser 对象,该对象包含了程序中每个命令行参数有关的信息。

parser = argparse.ArgumentParser(description="description")

其中,description 是该 ArgumentParser 对象的描述信息,在打印帮助信息时将使用该描述信息。接下来,我们可以添加参数。

parser.add_argument('-n', '--name', required=True, help="input your name")

该函数有几个参数需要解释一下:

  • -n 和 --name 表示参数的方式。其中,-n 是一种短参数的方式,--name 是一种长参数的方式。其中,长参数一般是为了人类方便理解。
  • required=True 表示该参数为必选参数。
  • help 是提供给用户的帮助信息。

至此,我们已经定义了一个参数,但是这个参数究竟如何使用呢?

在程序的任意位置,通过如下方式获取参数的值:

args = parser.parse_args()
name = args.name

其中,name 是指获取 -n 或 --name 选项所传递的参数值。

三、实例说明

下面通过两个实例来进一步讲解 argparse 的使用。

实例一:input 参数

import argparse

parser = argparse.ArgumentParser(description="input your name")
parser.add_argument('-n', '--name', required=True, help="input your name")
args = parser.parse_args()

print("Hello " + args.name)

如上述代码所示,我们通过 argparse 封装了一个带有一个必输参数的 Python 脚本,该参数的名称为 name ,执行该脚本时需要输入一个字符串类型的参数。

当用户运行上述脚本时,会看到类似这样的输出:

$ python argparse_demo.py -n kidd
Hello kidd

可以看到,我们在调用程序时通过 -n 参数指定了值,程序正确地返回了 hello kidd 的输出结果。

实例二:output 参数

import argparse

parser = argparse.ArgumentParser(description="output file name")
parser.add_argument('-o', '--output', required=False, help="output file name")
args = parser.parse_args()

filename = args.output or "output.txt"
with open(filename, 'w') as f:
    f.write("Hello argparse")

上述代码中,我们封装了一个支持可选输出文件名的 Python 脚本。该脚本默认生成一个名为 output.txt 的文件,通过 -o 或 --output 参数指定需要生成的文件名。

当用户运行上述脚本时,则可以查看到指定文件内容已经被写入。

$ python argparse_demo.py -o demo.txt

这条命令将会把 "Hello argparse" 写入到 demo.txt 文件中。如果不指定 -o 参数,则会默认使用 output.txt 文件名。

至此,我们就完成了 argparse 模块的使用说明。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python中命令行参数argparse模块的使用 - Python技术站

(0)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • Python正则表达式指南 推荐

    Python正则表达式指南推荐 正则表达式是一种用于描述字符串模式的语言,它可以用于匹配、查找、替换和割字符串。Python中的re模块供了对正则表达式的支持,可以方便进行字符串的处理。本文将推荐一些Python正则表达式的学习资源,并提供两个常用的匹实例。 学习资源推荐 1. Python官方文档 Python方文档提供了对re块的详细介绍和使用示例,是学…

    python 2023年5月14日
    00
  • 使用自带的IDLE进行程序调试

    1.打开IDLE,在主菜单选择debug—debugger菜单项,将打开debug control对话框 2.在Python-shell窗口选择file-open菜单项,打开要调试的文件 3.添加断点,鼠标右击选择set-breakpoint菜单项,添加断点的行将以黄色底纹标记,删除断点,选择clear-breakpoint菜单项 4.按快捷键F5执行程…

    python 2023年4月20日
    00
  • python字典如何获取最大和最小value对应的key

    首先,我们可以使用内置函数max()和min()来获取字典的最大值和最小值。但是,max()和min()在操作字典时只会比较字典中的key而不会比较对应的value。因此,我们需要利用Python的一些其他特性来找到最大或最小的value对应的key。 解决这个问题的一种典型方法是:将字典中的key和value反转,将原来的value作为新字典的key,原来…

    python 2023年5月13日
    00
  • 使用Python写一个量化股票提醒系统

    请看下面的攻略。 使用Python写一个量化股票提醒系统 目的 准备工作 基本思路 代码实现 目的 本文的目的是介绍如何使用Python编写一个量化股票提醒系统,可以实现根据股票价格涨跌幅度提醒用户,以及灵活的设置提醒条件。 准备工作 在开始编写代码之前,需要完成以下准备工作: 安装Python环境,推荐使用Python 3.x版本。 安装tushare库,…

    python 2023年5月30日
    00
  • Python实现模拟时钟代码推荐

    下面是关于“Python实现模拟时钟代码推荐”的完整攻略。 简介 在了解具体实现方法之前,首先需要明确实现时钟的基本原理。 模拟时钟的实现方法,一般都是利用计算机系统的计时功能(例如Python中的time模块)来模拟时间的流逝,并不断更新时钟的显示。因此,要实现一个模拟时钟,需要掌握以下几个关键点: 计算机系统计时功能的使用方法 时钟的外观和显示形式设计 …

    python 2023年6月2日
    00
  • python实现logistic分类算法代码

    Python实现Logistic分类算法代码详解 Logistic分类算法是一种常用的分类算法,它可以用于二分类问题,如判断邮件是否为垃圾邮件、判断肿瘤是否为性等。在Python中,可以使用scikit-learn库实现Logistic分类算法。本文将详细讲解Python实现Logistic分类算法的整个攻略,包括算法原、Python实现过程和示例。 算法原…

    python 2023年5月14日
    00
  • Python中使用platform模块获取系统信息的用法教程

    获取系统信息是编写Python程序时经常需要的功能之一。Python标准库中提供了许多获取系统信息的模块,其中就包括platform模块。使用platform模块可以获取有关操作系统的各种信息。下面,我们将详细讲解Python中使用platform模块获取系统信息的用法教程。 1. 安装platform模块 在使用platform模块之前,需要先安装该模块。…

    python 2023年5月30日
    00
  • python turtle绘图命令及案例

    下面是“Python Turtle绘图命令及案例”的完整攻略。 什么是Python Turtle绘图? Python Turtle 是一种 Python 库,可以用于绘制各种简单图形、文本或其他艺术形式。它可以让初学者更容易地开始学习编程,因为它提供了一个直观的图形用户界面,用户可以在其中使用相对简单的 Python 代码来创造一些惊人的图形效果。 安装 P…

    python 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部