Python内置模块argparse命令行参数解析

编程 · 2023-08-15 · 177 人浏览

这个库可在命令行中向程序传入参数并让程序运行。

import argparse

def main():
    parser = argparse.ArgumentParser(description="Demo of argparse")
    parser.add_argument('-n', '--name', default='Li', help="Enter the name")
    args = parser.parse_args()
    print(args)
    name = args.name
    print('Hello {}'.format(name))

if __name__ == '__main__':
    main()
  1. 首先导入argparse包,然后通过argparse.ArgumentParser生成对象,description是在命令行模式时显示帮助信息
  2. 之后通过parser.add_argument向该对象中添加命令行参数和选项
  3. 最后使用parser.parse_args进行解析

add_argument()方法添加命令行参数。其中,第一个参数是参数名,如果参数可选,可使用--开头的长选项,例如--name。

在命令行执行语法及输出结果:

$ python test.py -n World 
Namespace(name='World')
Hello World

下面详细讲解add_argument函数的一些最常用参数。

type

默认情况下,ArgumentParser对象以字符串的形式读取命令行参数。add_argument()的type关键字参数允许执行任何必要的类型检查和类型转换。

import argparse

def main():
    parser = argparse.ArgumentParser()
    parser.add_argument("-A", default="2", type=float)
    parser.add_argument("-B", default="3", type=float)
    args = parser.parse_args()
    print("A+B:{} + {} =".format(args.A, args.B), args.A + args.B)

if __name__ == '__main__':
    main()

在命令行执行语法及输出结果:

$ python test.py
A+B:2.0 + 3.0 = 5.0
Python
Theme Jasmine by Kent Liao