如何在Python中读取/处理命令行参数?
读取或处理命令行参数的官方方法是使用ArgumentParser模块中的argparse。
argparse模块启用了实现用户友好的命令行界面。该程序定义了所需的参数,而argparse将确定如何从sys.argv中解析这些参数?当用户为程序提供无效参数时,argparse还会生成帮助和用法消息并发出错误。
示例
import argparse parser = argparse.ArgumentParser(description='Process the numbers') parser.add_argument('integers',metavar='N', type=int, nargs='+', help='an integer for addition') parser.add_argument('--sum',dest='addition', action='store_const', const=sum, default=max, help='sum the integers (default: find the max)') args = parser.parse_args() print(args.addition(args.integers))
假设,我们已将上述方法保存为文件“argparse_example.py”,可以在命令行中运行并提供有用的消息。
情况1:在不传递参数的情况下运行方法
python argparse_example.py usage: argparse_example.py [-h] [--sum] N [N ...] argparse_example.py: error: the following arguments are required: N
情况2:运行通过-h作为参数的方法
python argparse_example.py -h usage: argparse_example.py [-h] [--sum] N [N ...] Process the numbers positional arguments: N an integer for addition optional arguments: -h, --help show this help message and exit --sum sum the integers (default: find the max)
情况3:运行传递数字的方法(返回数字列表的最大值)
python argparse_example.py 1 2 3 4 4
情况4:运行传递–sum参数作为参数以及数字列表的方法
python argparse_example.py 1 2 3 4 --sum 10