当前位置: 首页>>代码示例>>Python>>正文


Python Parser.multiword方法代码示例

本文整理汇总了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, '+')
开发者ID:gyllstromk,项目名称:blargs,代码行数:33,代码来源:test.py

示例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)
开发者ID:gyllstromk,项目名称:blargs,代码行数:25,代码来源:test.py

示例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
开发者ID:gyllstromk,项目名称:blargs,代码行数:7,代码来源:test.py

示例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')
开发者ID:gyllstromk,项目名称:blargs,代码行数:101,代码来源:test.py


注:本文中的blargs.Parser.multiword方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。