没有项目描述
clifier的Python项目详细描述
夹子
Clifier是一个简单的小脚本,用于生成Argparse命令和子parser 从yaml配置文件。
所有参数和参数的名称与argparser模块中的相同, 所以你不需要知道新的词汇。
使用clifier时,不需要为用户创建单独的文档- 您可以将config.yaml文件用作doc。
安装
要安装夹子-请使用pip:
pip install clifier
示例
在文件夹clifier/examples中,您可以找到带有配置文件的示例cli。 把它复制到你的本地环境并测试
yaml配置的简单示例:
parser:
prog: 'Clifier Example'
description: Example for Clifier
commands:
- keys: ['-v', '--version']
help: "show Clifier Example version"
action: show_version()
default: True
subparsers:
play:
- keys: ['game']
help: Write a name of the gave, what you want to play
- keys: ['-c', '--count']
help: Put number how much times you want to play
default: 2
sleep:
- keys: ['-t', '--time']
help: Put how much second you want to sleep
配置文件中的节
“解析器”部分
用于定义等于argparse.argumentparser()的args的args init方法,例如:
- prog
- description
- usage
- epilog and etc
to know more, look at official Argparse documentation:
https://docs.python.org/3.6/library/argparse.html#argparse.ArgumentParser
“命令”部分
commands properties equal to add_argument method
https://docs.python.org/3.6/library/argparse.html#argparse.ArgumentParser.add_argument
“subparsers”部分
name of subparser section element - it's a name, what equals to
add_parser() argument "name" of object what returned by
add_subparser_method
https://docs.python.org/3.6/library/argparse.html#argparse.ArgumentParser.add_subparsers
it's a Subparser name and it's not showed as argument in parser
在代码中使用剪贴画
commands properties equal to add_argument method
https://docs.python.org/3.6/library/argparse.html#argparse.ArgumentParser.add_argument
name of subparser section element - it's a name, what equals to
add_parser() argument "name" of object what returned by
add_subparser_method
https://docs.python.org/3.6/library/argparse.html#argparse.ArgumentParser.add_subparsers
it's a Subparser name and it's not showed as argument in parser
在代码中使用剪贴画
使用cli准备变量,变量的路径为配置文件:
config_path = os.path.join(os.path.abspath(os.path.dirname(__file__)), "cli.yaml")
初始化剪贴簿
cli = clifier.Clifier(config_path, prog_version="0.0.1")
并获得类似standart argparse parser的解析器
parser = cli.create_parser()
args = parser.parse_args()
就这样!
添加自定义操作
您可以使用add_actions()方法将自定义argparser操作添加到剪贴符中:
cli = clifier.Clifier(config_path)
cli.add_actions((your_custom_action_1, your_custom_action_2)
要在Cli中使用这些操作,请在命令行配置文件中使用“action”属性定义它们,例如:
从剪贴符中的框定义的自定义操作
显示版本
方法创建命令-v,--version以显示程序版本 用法:
1. provide arg prog_version to Clifier() or define "version" param in config
example in config.yaml:
parser:
prog: 'your prog name'
version: "0.0.1"
or
cli = clifier.Clifier(config_path, prog_version="0.0.1")
2. define -v, --version command in cli config:
commands:
- keys: ['-v', '--version']
help: "show Clifier Example version"
action: show_version()
default: True
检查路径操作
此动作检查存在或不由用户提供给命令行的文件路径。