argparse用法まとめ

2657 ワード

add_argument
#           ,        ,  pkg        ,          ,    。     ‘-’  。
parse.add_argument('-pkg', help='help')

ArgumentParser
#            
import argparse  
#             --help           
parse = argparse.ArgumentParser(description="test!!")  
#       ,     , python test.py --help     
args = parse.parse_args()

上記の2つの文は必須です.次は、コードの必要に応じて追加されるパラメータコマンドラインです.
nargs
#     nargs,                 
#    nargs           
parse.add_argument('need_or_not', help='need_or_not', nargs='?') 			
#          
args = parse.parse_args()											
args = parse.parse_args()
parse.add_argument('-a', '--abc', help='a sourcedir', nargs='?')
print(args.abc)
#    
print(args.a)
#     python demo.py -a abc
#    python demo.py --abc abc(        )
#          -a    --abc。            。

action
パラメータの中には、デフォルト値がbool変数である場合があります.
#      action                print(args.abc)   false,
#              print(args.abc)    true
#               ,    python test.py --abc 
parse.add_argument('-a', '--abc', help='a sourcedir', action='store_true') 

default
上記の場合はboolタイプ変数の0がデフォルトで、もちろん自分が望むデフォルト値に設定することもできます.
parse.add_argument('-a','--abc',help='a sourcedir',action='store_true', default=3) 
#       default    ,    --abc          True
#            3,   0 

add_mutually_exclusive_group
同時に使用できないパラメータがあるため、反発するパラメータグループを追加します.
#               
group = parse.add_mutually_exclusive_group() 
group.add_argument('-a','--abc',help='a sourceaaa',action='store_true')
group.add_argument('-b','--bc',help='a sourceabb',action='store_true')

#-a  -b                      ,       。      。
# python test.py -a

dest
#         abc,      dest   ,    dest       
parse.add_argument('-a','--abc', dest='mn', help='a sourcedir', nargs='?') 
#        mn,   abc
print(args.mn)
#        
# python test.py --abc 123

sys.argv[]
pythonのデフォルトsys.argv[]はpythonコードを実行するときのパラメータを自動的に保存し、パラメータが1つであればsysに保存する.Argv[1]では、多くのものが順次下に保存されます.
import sys
print(sys.argv[0])
print(sys.argv[1])
print(sys.argv[2])
print(sys.argv[3])

# python test.py --abc 123 -a 789
# >>>  test.py --abc 123 -a 789

https://blog.csdn.net/yuyushikuan/article/details/79729660