国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python中的argparse模塊(參數(shù)解析)

2019-11-08 18:21:05
字體:
來源:轉載
供稿:網(wǎng)友
url: https://docs.python.org/2/library/argparse.htmlimport argparseparse = argparse.ArgumentParser()parse.add_argument("a", help="params means")parse.add_argument("-C", "--gc", default="count")parse.add_argument("--ga", help="params means ga",dest='simple_value',choices=['A', 'B', 'C', 0])parse.add_argument("--gb", help="params means gb",action="store_const",const='value-to-store')args = parse.parse_args()PRint args.simple_value,args.gb,args.gc### add_argument 說明不帶'--'的參數(shù)    調(diào)用腳本時必須輸入值    參數(shù)輸入的順序與程序中定義的順序一致'-'的參數(shù)    可不輸入    add_argument("-a")    類似有'--'的shortname,但程序中的變量名為定義的參數(shù)名'--'參數(shù)    參數(shù)別名: 只能是1個字符,區(qū)分大小寫        add_argument("-shortname","--name", help="params means"),但代碼中不能使用shortname    dest: 參數(shù)在程序中對應的變量名稱 add_argument("a",dest='code_name')    default: 參數(shù)默認值    help: 參數(shù)作用解釋  add_argument("a", help="params means")    type : 默認string  add_argument("c", type=int)    action:
    store:默認action模式,存儲值到指定變量。    store_const:存儲值在參數(shù)的const部分指定,多用于實現(xiàn)非布爾的命令行flag。    store_true / store_false:布爾開關。 store_true.默認為False,輸入則為true。 store_flase 相反    append:存儲值到列表,該參數(shù)可以重復使用。    append_const:存儲值到列表,存儲值在參數(shù)的const部分指定。    count: 統(tǒng)計參數(shù)簡寫輸入的個數(shù)  add_argument("-c", "--gc", action="count")    version 輸出版本信息然后退出。    const:配合action="store_const|append_const"使用,默認值    choices:輸入值的范圍 add_argument("--gb", choices=['A', 'B', 'C', 0])    required : 默認False, 若為 True, 表示必須輸入該參數(shù)==================================================================================    KeyWord Arguments:        - option_strings -- A list of command-line option strings which    should be associated with this action.        - dest -- The name of the attribute to hold the created object(s)        - nargs -- The number of command-line arguments that should be  consumed. By default, one argument will be consumed and a single  value will be produced.                      Other values include:
                - N (an integer) consumes N arguments (and produces a list)                - '?' consumes zero or one arguments                - '*' consumes zero or more arguments (and produces a list)                - '+' consumes one or more arguments (and produces a list)                    Note that the difference between the default and nargs=1 is that with the default, a single value will be produced, while with  nargs=1, a list containing a single value will be produced.        - const -- The value to be produced if the option is specified and the  option uses an action that takes no values.        - default -- The value to be produced if the option is not specified.        - type -- A callable that accepts a single string argument, and returns the converted value.                      The standard Python types str, int,  float, and complex are useful examples of such callables.  If None,  str is used.        - choices -- A container of values that should be allowed.                     If not None,  after a command-line argument has been converted to the appropriate type, an exception will be raised if it is not a member of this collection.        - required -- True if the action must always be specified at the command line. This is only meaningful for optional command-line  arguments.        - help -- The help string describing the argument.        - metavar -- The name to be used for the option's argument with the  help string. If None, the 'dest' value will be used as the name.

創(chuàng)建子parse,每個子parse對應自己的輸入?yún)?shù)
import argparse# sub-command functionsdef subcmd_list(args):   print "list"def subcmd_create(args):   print "create"def subcmd_delete(args):   print "delete"parser = argparse.ArgumentParser()subparsers = parser.add_subparsers(help='commands')# A list commandlist_parser = subparsers.add_parser('list', help='Listcontents')list_parser.add_argument('dirname', action='store',	help='Directory tolist')list_parse.set_defaults(func=subcmd_list)# A create commandcreate_parser = subparsers.add_parser('create', help='Create a directory')create_parser.add_argument('dirname',action='store',help='New directoryto create')create_parser.add_argument('--read-only',default=False, action='store_true',help='Setpermissions to prevent writing to the directory')create_parser .set_defaults(func=subcmd_create)# A delete commanddelete_parser = subparsers.add_parser('delete',help='Remove a directory')delete_parser.add_argument(	'dirname', action='store',help='The directory to remove')delete_parser.add_argument('--recursive', '-r',default=False, action='store_true',help='Remove thecontents of the directory, too')delete_parser .set_defaults(func=subcmd_delete)args = parser.parse_args()# call subcmdargs.fun(args)使用幫助
# python args_subparse.py -husage: args_subparse.py [-h] {create,list,delete} ...positional arguments:  {create,list,delete}  commands    list                Listcontents    create              Create a directory    delete              Remove a directoryoptional arguments:  -h, --help            show this help message and exit  # python args_subparse.py create -husage: args_subparse.py create [-h] [--read-only] dirnamepositional arguments:  dirname      New directoryto createoptional arguments:  -h, --help   show this help message and exit  --read-only  Setpermissions to prevent writing to the directory  # python args_subparse.py delete -husage: args_subparse.py delete [-h] [--recursive] dirnamepositional arguments:  dirname          The directory to removeoptional arguments:  -h, --help       show this help message and exit  --recursive, -r  Remove thecontents of the directory, too # python args_subparse.py list -husage: args_subparse.py list [-h] dirnamepositional arguments:  dirname     Directory tolistoptional arguments:  -h, --help  show this help message and exit多個subparser 使用同樣定義的參數(shù)# add_help=False,必須指定,否則報-h重復定義parents_parser = argparse.ArgumentParser(add_help=False)parents_parser.add_argument('--foo', dest="foo", action='store_true')parents_parser.add_argument('--bar', dest="bar", action='store_false')parents_parser.add_argument('--baz', dest="baz", action='store_false')parser = argparse.ArgumentParser()subparsers = parser.add_subparsers(help='commands')m_parser = subparsers.add_parser("MySQL", parents=[parents_parser], help="mysql method")m_parser.set_defaults(func=sub_mysql)o_parser = subparsers.add_parser("Oracle", parents=[parents_parser], help="oracle method")o_parser.set_defaults(func=sub_oracle)args = parser.parse_args()參考http://blog.csdn.net/songuooo/article/details/8373086http://www.2cto.com/kf/201208/149418.htmlhttp://stackoverflow.com/questions/7498595/python-argparse-add-argument-to-multiple-subparsers


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 瑞丽市| 唐海县| 图木舒克市| 余江县| 遂川县| 康保县| 两当县| 杭锦旗| 双流县| 澎湖县| 祁东县| 陇西县| 深水埗区| 海盐县| 阜南县| 通渭县| 资阳市| 罗定市| 文成县| 伊宁县| 武穴市| 泗洪县| 会泽县| 漳州市| 崇仁县| 喜德县| 武邑县| 德安县| 石家庄市| 枞阳县| 荆门市| 远安县| 蒙山县| 揭西县| 顺昌县| 芮城县| 金华市| 肃宁县| 通州市| 剑阁县| 石屏县|