учебник по анализу аргументов
справочный сайт учебника по 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 аааа
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")