3分钟上手Python的命令行参数解析

3分钟上手Python的命令行参数解析_第1张图片

迷途小书童的 Note

读完需要

3

分钟

速读仅需 1 分钟

1

   

简介

处理命令行参数对许多程序来说都是必不可少的功能。今天为大家介绍 Python 中的 argparse 模块,它是 Python 标准库中的一个模块,它可以让开发者非常简单地为程序添加命令行参数接口,包括位置参数、可选参数、标志等,并自动生成帮助信息。

2

   

底层原理

argparse 模块的底层实现原理是使用 Python 的元编程功能。元编程是指在编写程序时,可以用程序来修改程序本身。argparse 模块使用元编程来解析命令行参数,并生成一个 Python 对象,这个 Python 对象包含了命令行参数的所有信息。

3

   

使用示例

下面是一个简单的 argparse 模块的使用示例

# test.py
import argparse


parser = argparse.ArgumentParser()
parser.add_argument('--name', type=str, help='The name of the person to greet.')
args = parser.parse_args()


print('Hello, {}!'.format(args.name))

这个示例中,我们创建了一个 argparse.ArgumentParser 对象,并使用 add_argument() 方法添加了一个命令行参数。这个命令行参数的名称是 name,类型是 str,帮助信息是 The name of the person to greet.。然后,我们使用 parse_args() 方法解析命令行参数,并将参数存储在 args 变量中。最后,我们使用 print() 方法打印一条欢迎消息。

执行上述脚本

python test.py --name xugaoxiang.com

代码输出

Hello, xugaoxiang.com!

argparse 还提供了许多额外的功能

3.1

   

类型转换

可以为参数指定类型,argparse 会自动进行转换

parser.add_argument('count', type=int)

3.2

   

默认值

可以通过 default 设置参数的默认值

parser.add_argument('--verbosity', default=1)

如果未传入参数,则默认值为 1。

3.3

   

必选参数

可以通过 required 设置参数必选

parser.add_argument('--user', required=True)

如果不传入 --user 参数会报错。

3.4

   

选择参数

可以使用 choices 限定参数的选项

parser.add_argument('--color', choices=['red', 'green', 'blue'])

参数值只能在给定的选项中选择。

3.5

   

可选参数

设置 action='store_true' 可以创建可选标志参数

parser.add_argument('--dry-run', action='store_true')

出现则为 True,不出现为 False。

4

   

注意事项

在使用 argparse 模块时,需要注意以下几点:

  • 命令行参数的名称必须唯一

  • 命令行参数的类型必须正确

  • 命令行参数的帮助信息必须简洁明了

  • 命令行参数的顺序必须正确

5

   

免费社群

3分钟上手Python的命令行参数解析_第2张图片

你可能感兴趣的:(python,开发语言,前端,linux,数据库)