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

yizhihongxing

一、介绍

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日

相关文章

  • Selenium Python 无法从亚马逊产品详细信息屏幕的下拉列表中选择值

    【问题标题】:Selenium Python not able to select value from drop down for Amazon product detail screenSelenium Python 无法从亚马逊产品详细信息屏幕的下拉列表中选择值 【发布时间】:2023-04-02 03:49:01 【问题描述】: 我正在尝试为亚马逊产…

    Python开发 2023年4月8日
    00
  • python编写计算器功能

    首先我们需要了解一下python中计算器的基本实现原理,接着再沿着这个思路来进行编写。 1. 实现原理 计算器的实现原理,主要包含以下几个步骤: 将用户输入的字符串表达式转换为可以进行计算的格式; 对表达式进行求值计算; 返回计算结果。 想要实现一个简单的计算器,我们可以使用Python的eval()函数。该函数可以计算其参数中的表达式,并且返回计算结果。 …

    python 2023年6月13日
    00
  • 浅谈python中拼接路径os.path.join斜杠的问题

    浅谈Python中拼接路径os.path.join斜杠的问题,需要了解以下几点: 操作系统的路径分隔符 os.path.join()的使用 为什么要使用os.path.join() 操作系统的路径分隔符 在不同的操作系统中,路径分隔符是不同的。例如,在Windows操作系统中,路径分隔符为反斜杠\;在Unix、Linux等操作系统中,路径分隔符为正斜杠/。 …

    python 2023年6月2日
    00
  • Python实现自动发送邮件功能

    下面是Python实现自动发送邮件功能的完整攻略。 简介 Python可以通过SMTP协议实现邮件的发送。SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,是一种用于邮件发送的标准协议。 实现步骤 导入相关模块:需要导入smtplib、email模块,其中smtplib用于建立SMTP连接并发送邮件,email模块用于…

    python 2023年5月19日
    00
  • Python协程的用法和例子详解

    Python协程的用法和例子详解 什么是协程 协程(Coroutines)又称微线程,纤程。协程是一种用户态的轻量级线程,协程的调度完全由用户控制,不需要操作系统进行切换,因此可以实现非常高效的并发。 Python 3.4 引入了 asyncio 模块,内置了对异步 IO 的支持。在 asyncio 中,异步操作的主体就是协程。 协程的用法 协程在 Pyth…

    python 2023年6月3日
    00
  • 在PyCharm中遇到pip安装 失败问题及解决方案(pip失效时的解决方案)

    下面是详细的攻略: 在PyCharm中遇到pip安装失败问题及解决方案 问题描述 在使用PyCharm的过程中,我们经常会使用pip命令安装所需的第三方库。但是有时会遇到pip安装失败的问题,错误信息可能包括: pip: command not found Could not find a version that satisfies the require…

    python 2023年5月14日
    00
  • 快速解决docker-py api版本不兼容的问题

    请注意以下内容: 快速解决docker-pyapi版本不兼容问题的攻略 问题描述 在使用 Docker Python API 包( docker-py )时,出现了版本不兼容的问题。可能的问题提示包括: TypeError: ‘module’ object is not callable ; ImportError: cannot import name ‘…

    python 2023年5月13日
    00
  • Python爬虫HTPP请求方法有哪些

    Python 爬虫 HTTP 请求方法有哪些 在 Python 爬虫中,我们常常需要使用 HTTP 请求来获取网站数据。Python 提供了多种 HTTP 请求方法,以下是 Python 爬虫 HTTP 请求方法的详细介绍。 使用 requests 模块发送 HTTP 请求 requests 模块是 Python 中常用的 HTTP 请求库,它提供了多种 H…

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