
上QQ阅读APP看书,第一时间看更新
6.2 命令行参数
6.2.1 sys.argv与命令行参数
命令行参数是Python语言的标准组成,是用户在命令行中Python程序之后输入的参数,在程序中可以通过sys.argv访问命令行参数。argv[0]为Python脚本名,argv[1]为第一个参数,argv[2]为第二个参数,依此类推。
按惯例,命令行输入参数argv[1]、argv[2]等为字符串,所以如果希望传入的参数为数值,则需要使用转换函数int()或float(),将字符串转换为适合的类型。
【例6.1】 命令行参数示例(randomseq.py):生成n个随机数,其中n由程序的第一个命令行参数确定。

程序运行结果如图6-2所示。

图6-2 命令行参数确认随机数的个数
6.2.2 argparse模块和命令行参数解析
argparse模块是用于解析命名的命令行参数,生成帮助信息的Python标准模块。使用argparse模块的基本步骤如下。
(1)导入模块。

(2)创建ArgumentParser对象。

(3)调用parser对象方法add_argument()增加要解析的命令参数信息。

(4)调用parser对象方法parse_args()解析命令行参数,生成对应的列表。

【例6.2】 命令行参数解析示例(arg_parse.py):解析命令行参数所输入的长和宽的值,计算并输出长方形的面积。

程序运行结果如图6-3所示。

图6-3 命令行参数确认长方形的长和宽