Werkzeug风格的命令解析。
项目描述
# commandlet
Werkzeug风格的命令。
## 使用方法
```
from commandlet.parser import Parser
p = Parser()
@p.command('test', 'test <int:times> <str:string>')
def do_test(times, string)
"""测试一定次数。"""
for n in range(times)
print('[%d]: %s' % (n, string))
p.handle_command('test 4 Hello world.')
```
如您所见,您可以使用Parser.command装饰器来装饰函数,使其可调用。它们都应该有一个名称(主要用于格式化输出),以及一个参数字符串,这看起来与命令行程序中看到的那样非常相似... 以及 [Werkzeug](https://palletsprojects.com/p/werkzeug/)。
您还可以添加额外的过滤器
```
@p.filter('reverse')
def do_reverse(text)
return (text, ''.join(reversed(text)))
@p.command('reverse', 'reverse <reverse:string>')
def reverse_command(string)
original, new = string
print('Reversing %r gives %r.' % (original, new))
```
您可以通过检查Parser.filters字典来查看完整的过滤器列表。默认支持str、int和float。
Werkzeug风格的命令。
## 使用方法
```
from commandlet.parser import Parser
p = Parser()
@p.command('test', 'test <int:times> <str:string>')
def do_test(times, string)
"""测试一定次数。"""
for n in range(times)
print('[%d]: %s' % (n, string))
p.handle_command('test 4 Hello world.')
```
如您所见,您可以使用Parser.command装饰器来装饰函数,使其可调用。它们都应该有一个名称(主要用于格式化输出),以及一个参数字符串,这看起来与命令行程序中看到的那样非常相似... 以及 [Werkzeug](https://palletsprojects.com/p/werkzeug/)。
您还可以添加额外的过滤器
```
@p.filter('reverse')
def do_reverse(text)
return (text, ''.join(reversed(text)))
@p.command('reverse', 'reverse <reverse:string>')
def reverse_command(string)
original, new = string
print('Reversing %r gives %r.' % (original, new))
```
您可以通过检查Parser.filters字典来查看完整的过滤器列表。默认支持str、int和float。
项目详情
下载文件
为您的平台下载文件。如果您不确定要选择哪个,请了解更多关于 安装包 的信息。
源分布
commandlet-0.4.4.tar.gz (11.6 kB 查看哈希值)
构建分布
commandlet-0.4.4-py3-none-any.whl (11.5 kB 查看哈希)
关闭
commandlet-0.4.4.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ae6b01921655309c4909e9b7f940707d1ef79f390d5d4cffdf5186f21ad168ba |
|
MD5 | 03957908b17852209de7e7518a0f7de7 |
|
BLAKE2b-256 | ff63c7adc68cdb07f40691e2d37f7f92722d4cc5038575b7a93f7e625060a828 |
关闭
commandlet-0.4.4-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 478a68cd85437727ff2598ded3e49a4b49b2aaab8515a5d652748c2061f663aa |
|
MD5 | 569ff0418ffb736f7d97c2886920ce40 |
|
BLAKE2b-256 | e3e55d83080adf8ff7a45403dcfa84f1d18c81a697432704643befb0cf178bcf |