⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 accept_args.py

📁 C++的一个好库。。。现在很流行
💻 PY
字号:

import getopt
import re
import sys

def 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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -