argparse教程参考网站
import argparse
# 类的实例化,将之实例化为parser(也可以起名为其他任何名字)
parser = argparse.ArgumentParser()
parser.parse_args()
$ python test.py
$ python test.py -h
$ python test.py foo
位置参数
import argparse
parser = argparse.ArgumentParser()
# 表示从命令行接收某个参数,然后这个参数对应的名字就叫echo
parser.add_argument("echo")
# 取出实例化的parser对应的参数
args = parser.parse_args()
# 把接收到的echo对应的参数print出来
print(args.echo)
$ python test.py
$ python test.py -h
$ python test.py ahhhh
import argparse
parser = argparse.ArgumentParser()
# help就是为了说明你这个参数是干啥用的
parser.add_argument("echo", help="echo the string you use here")
args = parser.parse_args()
print(args.echo)
$ python test.py -h
import argparse
parser = argparse.ArgumentParser()
# 这个square只是个变量名称,它并不会进行平方运算
parser.add_argument("square", help="display a square of a given number")
args = parser.parse_args()
# 这里才是进行了平方运算
print(args.square**2)
python test.py 4
可选参数
可选参数是有 - 或者 – 的,和位置无关,而位置参数是和位置相关的,位置参数不能随意更换位置
import argparse
parser = argparse.ArgumentParser()
# verbosity为可选参数,没有被使用时,其值为None
parser.add_argument("--verbosity", help="increase output verbosity")
args = parser.parse_args()
if args.verbosity:
print("verbosity turned on")
$ python test.py --verbosity 1
$ python test.py
$ python test.py --help
$ python test.py --verbosity
import argparse
parser = argparse.ArgumentParser()
# verbosity为可选参数,没有被使用时,其值为None
# action="store_true"意味着,当这一选项存在时,为 args.verbose 赋值为 True。没有指定时则隐含地赋值为 False。
parser.add_argument("--verbosity", action="store_true", help="increase output verbosity")
args = parser.parse_args()
if args.verbosity:
print("verbosity turned on")
短选项
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-v","--verbosity", action="store_true", help="increase output verbosity")
args = parser.parse_args()
if args.verbosity:
print("verbosity turned on")
parser.add_argument("-v", "--verbosity", type=int, choices=[0, 1, 2],
help="increase output verbosity")
parser.add_argument("-v", "--verbosity", action="count",
help="increase output verbosity")
parser.add_argument("-v", "--verbosity", action="count", default=0,
help="increase output verbosity")