Python注释:命令行参数解析

有时我们需要通过命令行向脚本传递参数。C语言中有getopt()方法,python中有类似的命令行参数解析方法getopt()。Python还提供了比getopt()更简单的argparse方法。此外,sys模块还可以实现简单的参数分析。本文将简要介绍这三种命令行参数分析方法。

Sys.argv是传入参数列表,sys.argv[0]是当前python脚本的名称,sys.argv[1]表示第一个参数,依此类推。

命令行操作:

可以看到传入的参数是通过sys.argv获得的,它是一个参数列表。

Python的getopt类似于C语言中的getopt()函数。与sys模块相比,它支持长参数和短参数,并为参数赋值。但需要结合sys模块进行参数分析,语法格式如下:

短参数是单个英文字母。如果必须赋值,需要在后面加一个英文冒号(:)。长参数一般是字符串(与短参数相比,更能说明参数的含义)。如果必须赋值,需要在后面加一个等号(=)。

命令行操作:

注意:短参数(options)和长参数(long_options)不需要一一对应,可以任意顺序,可以只有短参数,也可以只有长参数。

argparse模块提供了很多可以设置的参数,比如参数的默认值、帮助消息、参数的数据类型等。argparse类主要包括ArgumentParser、add_argument和parse_args三个方法。

下面描述了这三个函数的用法。

默认情况下,Argparse提供-h |-help参数:

命令行操作:

下面列出了一些参数:

让我们添加参数:

命令行操作:

parse_args()方法用于解析参数。在前面的示例代码中,parse_args方法用于提取参数值,对于无效或错误的参数,将打印错误信息和帮助信息:

命令行操作:

本文介绍了三种Python命令行参数解析方法,sys.argv、getopt和argparse,大家可以根据自己的需求进行选择。相比getopt和argparse,推荐argparse,它的代码更少,更简洁。更详细的用法请参考官方文档:

-结尾-