有时候我们运行一个 Python 脚本,需要向其中输入一些参数,并且通过特定的字符比如 -s ,-v 来指定,这就用到 Python 的 argparse 模块了。
如下是一个使用示例:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-s', '--server_ip', dest = 'server_ip')
parser.add_argument('-a', action = 'store_true', required = False, dest = 'appkey')
args = parser.parse_args()
#server_ip = args.server_ip
#appkey = args.appkey
if args.appkey:
print('we got appkey ')
else:
print('we dont got appkey')
print(args.server_ip, args.appkey)
其中:如果我们要运行这个脚本,并且输入参数,可以如下的形式:
python3 args.py --server_ip 192.168.1.122 -a 23486748973
接下来就来逐个分析一下add_argument 里各个参数的作用:
-s 是短的参数命名,可以通过 -s 加上参数的内容,后面还有一个 --server_ip,也可以通过 --server_ip 来指定参数内容
dest 则指的是把后面跟的这个参数在脚本中传递给谁,在脚本中我们这样获取的:args.appkey, args.server_ip
接下来就是 action 和 required ,如果不指定这两个参数,比如我们第一个 serevr_ip,那么 server_ip 这个参数则是必填的, 也就是在运行脚本的时候, 必须跟上 -s 或者 --server_ip 来制定 server_ip 的内容,否则就会报错(不信你可以试一下)
action 这个参数呢,就是用来确定这个参数是否被传递,是一个 布尔型,比如:
if args.appkey 来判断是否被传递,以进行脚本的下一步运行。
required 则是用来确定这个参数是否是必需的, 如果 required = True,那么这个参数则必须被传递。
以上就是 Python 里面 argparse 模块的使用方法,常用用途就这些,如果需要更详细的、更细致的用法可以去参考官方文档。