欢迎访问宙启技术站
智能推送

使用Python实现命令行参数解析(CLI)

发布时间:2023-12-27 12:10:07

在Python中,我们可以使用argparse模块来实现命令行参数解析(CLI)。argparse模块提供了一种简单的方式来定义命令行参数以及它们的类型、默认值和帮助信息。

下面是一个简单的例子,演示了如何使用argparse模块来解析命令行参数:

import argparse

def main():
    # 创建ArgumentParser对象
    parser = argparse.ArgumentParser(description='命令行参数解析例子')

    # 添加命令行参数
    parser.add_argument('input_file', help='输入文件名')
    parser.add_argument('--output', help='输出文件名')

    # 解析命令行参数
    args = parser.parse_args()

    # 访问解析后的命令行参数
    print('输入文件名:', args.input_file)
    print('输出文件名:', args.output)

if __name__ == '__main__':
    main()

在上面的例子中,我们首先导入了argparse模块,然后定义了一个main函数来处理命令行参数。在main函数中,我们创建了一个ArgumentParser对象,它用于解析命令行参数。然后,我们使用add_argument方法来添加命令行参数, 个参数是参数名或参数列表,第二个参数是帮助信息。

在上面的例子中,我们添加了一个input_file参数,用于指定输入文件名,并添加了一个可选的--output参数,用于指定输出文件名。

在解析命令行参数之后,我们可以使用args.input_fileargs.output来访问解析后的参数值。

下面是几个可能的运行例子:

$ python script.py input.txt
输入文件名: input.txt
输出文件名: None

$ python script.py input.txt --output output.txt
输入文件名: input.txt
输出文件名: output.txt

在 个例子中,我们只指定了输入文件名,而没有提供输出文件名,因此args.output的值为None。在第二个例子中,我们指定了输入文件名和输出文件名,args.output的值为output.txt。

argparse模块还提供了许多其他的功能,例如将参数类型限制为整数或浮点数、设置参数的默认值、指定参数的选择列表等。你可以查阅argparse模块的官方文档来获取更多关于如何定制和解析命令行参数的信息。