Python 2/3 兼容的命令行参数解析器
项目描述
一个用于解析命令行参数的实用类。
构造函数
@param names list<string> - 这是一个“名称”列表,应反映每个参数。@param shortOptions list<string> - 这是一个短选项(-x val)列表。长度应与names匹配。如果没有短选项,则使用‘None’。省略前导-@param longOptions list<string> - 这是一个长选项(–xyz val或–xyz= val)列表。如果没有长选项,则使用‘None’。省略前导–@param staticOptions list<string> - 这是一个静态选项列表(只有存在就有意义的参数,不需要额外的值)。此列表中的任何成员都将出现在#parse的结果中,存在时设置为True,否则为False。@param multipleStaticOptions <dict> - 一个字典,用于解析多个静态参数,这些参数解析为单个值。键是“名称”,值是所有潜在值。例如:{'cheese' : ['–cheddar', 'gouda']} 结果中存在'gouda'或'–cheddar'时,将cheese设置为True,否则为False。@param allowOtherArguments <bool> 默认 False - 如果为 False,则将未指定的参数视为错误。无论值如何,不匹配的参数都将出现在返回值的“unmatched”键中。
函数
def parse(args)parse - 解析提供的参数并返回它们的信息。如果使用 sys.argv,则省略第一个参数。@return - 字典的键是‘result’ => 结果名称-值的字典‘errors’ => 错误字符串列表,或空列表‘warnings’ => 警告字符串列表,或空列表‘unmatched’ => 不匹配参数的字符串列表,按顺序排列
示例
In [1]: from ArgumentParser import ArgumentParserIn [2]: parser = ArgumentParser(['firstName', 'lastName', 'birthday'],…: ['f', 'l', 'b'],…: ['first-name', 'last-name', 'birthday'],…: ['–citizen']))In [3]: parser.parse('-f Tim –last-name=savannah –birthday 6/28'.split(' ‘))Out[3]{‘errors’: [],‘result’: {'–citizen': False,‘birthday': '6/28',‘firstName': ‘Tim’,‘lastName': ‘savannah’},‘warnings’: [],‘unmatched’ : []}In [4]: parser.parse('-f Tim –last-name=savannah –citizen'.split(' ‘))Out[4]{‘errors’: [],‘result’: {'–citizen': True, ‘firstName’: ‘Tim’, ‘lastName': ‘savannah’},‘warnings’: [],‘unmatched’: []}
示例2
>>> from ArgumentParser import ArgumentParser>>> parser = ArgumentParser(['name'], ['n'], ['name'], None, False)>>> parser.parse('-n hello some other args'.split(' ‘)){‘errors’: ["未知参数 ‘some’ (位置 2)", "未知参数 ‘other’ (位置 3)", "未知参数 ‘args’ (位置 4)"], ‘result’: {'name': ‘hello’}, ‘unmatched’: ['some', ‘other', ‘args’], ‘warnings’: []}>>> parser = ArgumentParser(['name'], ['n'], ['name'], None, True)>>> parser.parse('-n hello some other args'.split(' ‘)){‘errors’: [], ‘result’: {'name': ‘hello’}, ‘unmatched’: ['some', ‘other', ‘args’], ‘warnings’: []}
示例3
>>> import ArgumentParser>>> parser = ArgumentParser.ArgumentParser(('one', 'two'), ('o', 't'), ('uno', 'dos'), ('x'), {'cheese': ['cheddar', 'gouda'], 'baby': {'child', 'infant'}})>>> parser.parse(['-o', ‘1', ‘cheddar’]){‘errors’: [], ‘result’: {'baby': False, ‘cheese': True, ‘x': False, ‘one': ‘1’}, ‘unmatched’: [], ‘warnings’: []}
项目详情
关闭
argumentparser-1.2.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f996cc1ca7b9f7cec470150bdcbaf66c712f4de0d029307c4b25ec9d1b1aee08 |
|
MD5 | dab01673e973a3e6772d37f19436992e |
|
BLAKE2b-256 | 294f0e8c08ed6bcb44269e0f044c3a3bab7d3fa4ff1bbb9fb9e501e32ae52a75 |