本文介绍python的两种参数传递方式,第1种为sys的参数传递,第2种为argparse的参数传递
sys
的sys.argv
来获取命令行参数import sys print (sys.argv)
python debug.py para1 para2 ['debug.py', 'para1', 'para2']
可以看到传入了参数,要使用具体参数的时候得我们自己去解析、识别
parser.add_argument()
方法传递参数parser.add_argument('--para--name', type=int, default=72, help='the name of parameter.')
其中para--name
为参数名,type
为其类型,default
为默认值
在不知使用方法时可用 -h
查看help说明
使用例子如下:
import argparse parser = argparse.ArgumentParser(description='para transfer') parser.add_argument('--para1', action='store_true', default=False, help='para1 -> bool type.') parser.add_argument('--para2', type=int, default=10, help='para2 -> int type.') parser.add_argument('--para3', type=str, default="hello", help='para3 -> str type.') args = parser.parse_args() print(args)
命令行参数传递
-h
查看帮助python debug.py -h usage: debug.py [-h] [--para1] [--para2 PARA2] [--para3 PARA3] para transfer optional arguments: -h, --help show this help message and exit --para1 para1 -> bool type. --para2 PARA2 para2 -> int type. --para3 PARA3 para3 -> str type.
--具体参数名
传递参数python debug.py --para2 100 Namespace(para1=False, para2=100, para3='hello')
可以看到参数2传值成功
action='store_true'
的说明True
python debug.py --para1 Namespace(para1=True, para2=10, para3='hello')
可以看到参数1有传递时为True
在使用具体参数时只需args.参数名
即可,如:args.para1