CLI子命令库

subc的Python项目详细描述


这是一个很小的库,可以帮助您编写包含许多 子命令。在

安装

pip install subc

使用

为应用程序创建自己的命令子类:

classMyCmd(subc.Command):pass

然后,在应用程序中编写以下子类的命令:

^{pr2}$

最后,使用应用程序级的子类来创建参数解析器 以及运行应用程序:

if__name__=='__main__':MyCmd.main()

高级用途

您可能会发现自己想要为 应用程序,以便共享公共功能。例如,你可以 为所有将单个文件作为参数处理的命令创建一个类:

classFileCmd(MyCmd):defadd_args(self,parser):parser.add_args('file',help='the single file')

你可以这样做,只要你的中间子类不可执行。为 例如,给定以下类层次结构:

MyCmd*
|- FileCmd*
|  |- AppendLineCmd
|  |- RemoveLineCmd
|- DoSomethingElseCmd

非叶命令(用星号标记)将不作为 可执行命令。只有叶类是可执行的。在

subc是一个非常简单的库。如果您有其他高级用途,请阅读 代码。在

许可证

此项目是根据修订后的BSD许可证发布的。请参见LICENSE.txt了解 细节。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JFrame中的Java多线程   java Servlet异常映射   java无法从输出流读取   swing Java带来的小程序GUI问题   java什么原因导致错误“'void'类型此处不允许”以及如何修复它?   Java选择器select(长)与selectNow的区别   java自定义arraylist<mygames>获得不同   java Icepdf注释让页面消失   java反向整数数组   java I在生成同步“无法解析配置的所有依赖项”时遇到此错误:app:debugRuntimeClasspath   多个虚拟机上的java线程访问单个DB实例上的表,有时会导致性能低下和异常   swing更改Java中的默认按钮,使其看起来“更好”   java慢速MQ主题订阅。并行化不能提高性能   java运行Boggle Solver需要一个多小时。我的代码怎么了?   数据库中的java循环与应用程序中的java循环   正则表达式匹配${123…456}并在Java中提取2个数字?   java如何制作我们软件的试用版   Java内存参数计算   从另一个类调用方法时出现java问题