本文整理汇总了Python中blargs.Parser.multiword方法的典型用法代码示例。如果您正苦于以下问题:Python Parser.multiword方法的具体用法?Python Parser.multiword怎么用?Python Parser.multiword使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类blargs.Parser
的用法示例。
在下文中一共展示了Parser.multiword方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_multiword
# 需要导入模块: from blargs import Parser [as 别名]
# 或者: from blargs.Parser import multiword [as 别名]
def test_multiword(self):
def create():
p = Parser()
p.multiword('aa')
p.str('ab')
return p
self.assertRaises(MissingValueError, create()._process_command_line, ['--aa'])
vals = create()._process_command_line(['--aa', 'a', '--ab', 'b'])
self.assertEqual(vals['aa'], 'a')
self.assertEqual(vals['ab'], 'b')
vals = create()._process_command_line(['--aa', 'a c d', '--ab', 'b'])
self.assertEqual(vals['aa'], 'a c d')
vals = create()._process_command_line(['--aa', 'a', 'c', 'd', '--ab', 'b'])
self.assertEqual(vals['aa'], 'a c d')
p = Parser().set_single_prefix('+').set_double_prefix('M')
p.multiword('aa')
p.str('ab').shorthand('a')
vals = p._process_command_line(['Maa', 'a', 'c', 'd', 'Mab', 'b'])
self.assertEqual(vals['aa'], 'a c d')
p = Parser().set_single_prefix('+').set_double_prefix('M')
p.multiword('aa')
p.str('ab').shorthand('a')
vals = p._process_command_line(['Maa', 'a', 'c', 'd', '+a', 'b'])
self.assertEqual(vals['aa'], 'a c d')
self.assertRaises(ValueError, Parser().set_single_prefix('++').set_double_prefix, '+')
示例2: test_cast
# 需要导入模块: from blargs import Parser [as 别名]
# 或者: from blargs.Parser import multiword [as 别名]
def test_cast(self):
p = Parser()
p.str('x').cast(int)
vals = p._process_command_line(['--x', '1'])
self.assertEqual(vals['x'], 1)
p = Parser()
p.str('x').cast(int)
self.assertRaises(ArgumentError, p._process_command_line, ['--x', 'a'])
p = Parser()
p.int('x')
vals = p._process_command_line(['--x', '1'])
p = Parser()
p.multiword('x').cast(lambda x: [float(y) for y in x.split()])
vals = p._process_command_line(['--x', '1.2 9.8 4.6'])
self.assertEqual(vals['x'], [1.2, 9.8000000000000007,
4.5999999999999996])
p = Parser()
p.int('x').default('yes')
self.assertRaises(FormatError, p._process_command_line)
示例3: create
# 需要导入模块: from blargs import Parser [as 别名]
# 或者: from blargs.Parser import multiword [as 别名]
def create():
p = Parser()
p.multiword('aa')
p.str('ab')
return p
示例4: test_config
# 需要导入模块: from blargs import Parser [as 别名]
# 或者: from blargs.Parser import multiword [as 别名]
def test_config(self):
def create():
p = Parser()
p.config('a')
return p
self.assertRaises(IOError, create()._process_command_line, ['--a',
'doesnotexist.cfg'])
fname = os.path.join(self._dir, 'config.cfg')
def write_config(**kw):
delim = '='
if 'delim' in kw:
delim = kw['delim']
del kw['delim']
with open(fname, 'w') as w:
w.write('[myconfig]\n# comment1\n; comment2\n' + '\n'.join(
('%s %s %s' % (k, delim, v) for k, v in kw.items())))
write_config(b=3, c='hello')
vals = create()._process_command_line(['--a', fname])
self.assertEqual(list(vals.keys()), ['help'])
def create():
p = Parser({})
p.config('a')
p.int('b')
p.str('c')
p.int('d')
return p
for delim in '=:':
write_config(b=3, c='hello', d=5, delim=delim)
try:
vals = create()._process_command_line(['--a', fname])
except MultipleSpecifiedArgumentError as e:
print(e)
self.assertEqual(vals['b'], 3)
self.assertEqual(vals['c'], 'hello')
self.assertEqual(vals['d'], 5)
write_config(b=3, c='hello', d='what')
self.assertRaises(FormatError, create()._process_command_line, ['--a', fname])
# XXX may want subsequent line to eventually be true
# vals = create()._process_command_line(['--a', fname, '--d', '4'])
self.assertRaises(MultipleSpecifiedArgumentError,
create()._process_command_line, (['--a', fname, '--d', '4']))
# self.assertEqual(vals['b'], 3)
# self.assertEqual(vals['c'], 'hello')
# self.assertEqual(vals['d'], 4)
self.assertRaises(MultipleSpecifiedArgumentError,
create()._process_command_line, (['--a', fname, '--d', '4', '--c', 'sup',
'--b', '1']))
# self.assertEqual(vals['b'], 1)
# self.assertEqual(vals['c'], 'sup')
# self.assertEqual(vals['d'], 4)
def create():
p = Parser({})
p.config('a').default(fname)
p.int('b').requires(p.int('d'))
p.str('c')
return p
write_config(b=3, c='sup')
self.assertRaises(DependencyError, create()._process_command_line) # should pass because default
self.assertRaises(DependencyError, create()._process_command_line, ['--a', fname])
with open(fname, 'w') as w:
w.write('''[myconfig]
b=9
[part]
b=3
''')
p = Parser()
p.config('a')
p.int('b')
self.assertRaises(MultipleSpecifiedArgumentError,
p._process_command_line, ['--a', fname])
p = Parser()
p.config('a')
p.int('b').multiple()
vals = p._process_command_line(['--a', fname])
self.assertEqual(sorted(vals['b']), [3, 9])
write_config(b='hello world')
p = Parser()
p.config('a')
p.multiword('b')
vals = p._process_command_line(['--a', fname])
self.assertEqual(vals['b'], 'hello world')