r
import argparse
import sys
def argsparser():
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument(
"--data1",
type=int,
default=10,
help=("num 1"),
required=False)
parser.add_argument(
"--data2",
type=int,
default=2,
help=("num2."),
required=False)
return parser
def function_test(a, b):
c =a-b
return c
if __name__=="__main__":
parser = argsparser()
FLAGS = parser.parse_args()
# FLAGS.data1=20
# FLAGS.data2=11
result= function_test(FLAGS.data1, FLAGS.data2)
print(result)
required=Ture:
会提示如下错误:
usage: argsparser_test.py [-h] --data1 DATA1 --data2 DATA2
argsparser_test.py: error: the following arguments are required: --data1, --data2
required=False:
可正确执行
这是命令行工具里面的一个小坑,如果你不想用命令行传参,而是想用上面的方式,一定要把required的值改为False。