1、背景介绍
在python执行命令时需要接收外部参数,使用模块argparse可以很方便实现接收外部命令行参数,接收的参数组成类似js格式,可以很方便的用键值对的形式使用
2、案例
1)脚本命名: 12.test.py
# !/usr/bin/python # -*- coding=UTF-8 -*- # 导入argparse模块,命令行参数解析模块 import argparse # 生成实例对象 parser = argparse.ArgumentParser() # 添加拦截参数,以命令行参数"-d"为例:通过识别命令行参数-d,给指定的key(stat_date)传参,默认键值对stat_date=20210511 parser.add_argument("-d","--stat_date",default="20210511") parser.add_argument("-f","--file_name",default="test.sql") # 执行该命令参数生效 args = parser.parse_args() print(args) # 生成元组 Namespace(file_name='filename.sql', stat_date='20210801') # 使用指定参数 stat_date = args.stat_date print("命令行参数:stat_date = "+stat_date)
2)执行命令如下图:
python 12.test.py -d 20210801 -f filename.sql
通过执行命令可以看出用命令行参数-d,等价于add_argument中stat_date参数,很方便的使用stat_date作为传参使用