关于python:Python-中的命令行参数解析argparse-模块深入讲解
一、为什么要解析命令行参数?在日常的Python编程中,咱们常常须要编写一些可配置的脚本。这些脚本在运行时,可能须要传递一些参数,以实现不同的性能。命令行参数就是一种在启动脚本时,传递给脚本的数据。 例如,咱们编写了一个能够实现文件复制性能的脚本,那么咱们可能须要传递源文件门路和指标文件门路两个参数。这就须要解析命令行参数。 二、Python 中的 argparse 模块Python 提供了一个解析命令行参数的规范库 argparse。argparse模块能够让咱们轻松编写用户敌对的命令行接口。它程序定义须要哪些参数,而后 argparse 将找出如何从 sys.argv 解析出这些参数。argparse模块还会主动生成帮忙和使用手册,并在用户给程序传入有效参数时报出错误信息。 接下来,咱们通过一个简略的例子来介绍 argparse 的应用办法。 三、argparse的根本应用首先,咱们须要创立一个 ArgumentParser 对象: import argparseparser = argparse.ArgumentParser(description='Process some integers.')ArgumentParser 的构造方法承受几个可选的参数,比方 description 参数能够用来形容这个程序是做什么的。当带 --help 参数运行程序时,这些形容信息会显示在帮忙信息中。 而后,咱们调用 add_argument() 办法来指定程序能承受的命令行选项: parser.add_argument('integers', metavar='N', type=int, nargs='+', help='an integer for the accumulator')parser.add_argument('--sum', dest='accumulate', action='store_const', const=sum, default=max, help='sum the integers (default: find the max)')这段代码增加了一个能够承受一或多个整数的地位参数,并增加了一个可选参数 --sum。当 --sum 参数存在时,会将传入的整数求和,否则找出最大的那个数。 最初,parse_args() 办法会解析命令行参数并返回一个命名空间,蕴含传入的参数。如果用户传入了有效的参数或者申请帮忙,argparse 也会主动打印出帮忙信息并退出程序。 args = parser.parse_args()print(args.accumulate(args.integers))这就是 argparse 的根本应用办法。 四、argparse的高级用法在理解了 argparse 的根本用法后,咱们能够进一步探讨它的一些高级性能,比方子命令、参数组和参数抵触解析。 1. 子命令有时候,咱们的程序可能须要依据不同的命令执行不同的操作。比方 git 程序,它有很多子命令,如 git clone、git pull等,不同的子命令会执行不同的操作。argparse 反对这种子命令的创立。 上面是一个创立子命令的例子: ...