命令行工具,用于简单地实现使用多命令cli的应用程序。

climson的Python项目详细描述


climson是一个工具,可以方便、简化地实现使用多命令cli的应用程序。


climson让我用一个示例向您展示climson。

只有**4个实施步骤。**

。创建处理程序类扩展*climson.basecommand*
。将*name(必选)*指定为子命令名,将*description*指定为类字段。
实现*do_命令(self,**kwargs)*方法。如果命令使用somw选项执行,则方法将其作为**kwargs.
。创建客户端实例并注册命令类。

命令名称(必需)
名称='hello'

子命令描述
描述='say hello!'

def do_command(self):
打印"你好!"

如果要使用某些选项,请将其指定为字段*选项*如下。

'帮助='your name',必需=true,dest='name'),
生成选项('-a','--age',帮助='your age',必需=false,type=int,dest='age'),


::


class goodbye(climson.basecommand):

name='goodbye'

description='say goody!'

option s=climson.basecommand.options+(
生成选项('-n','--name',help='your name',required=true,dest='name'),
生成选项('-a','--age',help='your age',required=false,type=int,dest='age'),


#
def do_命令(self,message=none,age=0):
打印"再见,{}(age:{})格式(message,age)

或者可以使用self.optargs引用原始args对象
打印"再见,{}(age:{})格式(self.optargs.message,self.optargs.are)


#如果需要,请执行自定义验证。

返回真值

…注意:
如果要验证选项值,请重写方法*validate(self,**kwargs)*。验证失败时,返回bool作为检查结果或raise climson.climson.validateerror作为检查结果或raise climson.climson.validateerror。



























br/>我ssage_client=climsonclient(description='显示一些消息!',prog='myprog')
message_client.add(hello)
message_client.add(再见)
message_client.execute()


.py再见--name michel--age 20



commandfy decorator
----
commandfy decorator进一步简化climsonice的这些实现。
您只能执行每个命令的prepare方法。




from climson import commandfy
from climson import commandfy@commandfy(description='打招呼!')
def hello():
打印"hello!"< BR>/>@commandfy(description='说再见!')
定义再见(name=none,age=0):
打印"再见,{}(age:{})"。格式(消息,age)

注意:
*如果要验证选项,必须自己实现。
*不能指定命令行选项类型、短名称、操作等。
*但是commandfy非常简单!

**从pypi安装**

**从github获取clime**

如果要使用最新版本的climson,请使用:


$git clone git://github.com/takumakanari/climson.git


,或从github手动下载。_ github:
http://github.com/takumakanari/climson

_ pypi:
http://pypi.python.org/pypi/climson

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

推荐PyPI第三方库


热门话题
ws-consumer服务地址中的java动态属性   java如何比较整数列表,然后按升序排序?   javascript我正在使用java脚本调用一个函数,但它没有调用代码下面的方法,也没有调用secretitnames()函数   在文本窗格中多次使用Java insertIcon图标   JavaMSAL安卓。AuthenticationActivity完成,但用于身份验证请求的线程池线程仍处于等待状态   if语句中的java多范围比较   java toString()表示输出   java如何在jcstrest测试中生成指令重新排序   java我怎样才能运行它?   web应用程序中使用Hibernate和Spring的java问题   如何将字符串数据写入Java文本文件   如何在java命令提示符下运行已签名的jar文件?   java从我的菜单调用RCP应用程序   java如何等待Canvas/GraphicsContext完成任务,然后再继续执行代码块?