accept_args.py

来自「Boost provides free peer-reviewed portab」· Python 代码 · 共 31 行

PY
31
字号
import getoptimport reimport sysdef accept_args( args_spec, args, options, usage ):        defaults_num = len(options)        ( option_pairs, rest_args ) = getopt.getopt( args, '', args_spec )    map( lambda x: options.__setitem__( x[0], x[1] ), option_pairs )    if ( options.has_key( '--help' ) or len( options.keys() ) == defaults_num ):        usage()        sys.exit( 1 )    if len( rest_args ) > 0 and rest_args[0][0] == '@':        f = open( rest_args[0][1:], 'r' )        config_lines  = f.read().splitlines()        f.close()        for l in config_lines:            if re.search( r'^\s*#', l ): continue            if re.search( r'^\s*$', l ): continue            m = re.match( r'^(?P<name>.*?)=(?P<value>.*)', l )            if m:                options[ '--%s' % m.group( 'name' ) ] = m.group( 'value' )            else:                raise 'Invalid format of config line "%s"' % l    return rest_args

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?