用于命令行应用程序的python框架

battalion的Python项目详细描述


https://pypip.in/py_versions/battalion/badge.svg?style=flathttps://pypip.in/license/battalion/badge.svg?style=flathttps://pypip.in/download/battalion/badge.svg?style=flathttps://pypip.in/version/battalion/badge.svg?style=flathttps://pypip.in/wheel/battalion/badge.svg?style=flatRequirements Status

用于命令行应用程序的python框架

快速启动

不耐烦吗?我喜欢你的风格。

$ pip install battalion

在mycli.py脚本中:

frombattalion.apiimport*classDB(object):def__init__(self,state):self.msg=state.msgdefmyfunc(self):returnself.msg@fixturedefdb(state):returnDB(state)classmycli(CLI):"""
    Toplevel program - mycli
    """classState:version='0.0.1'msg=""@commanddefnormal_function(cli,db,data=None):# NOTE: the "db" arg will be populated from the "db" fixture function"""Takes in data and outputs new data"""ifdataisNone:returndb.myfunc()else:returndata@commanddefgreeting(cli,name="Hello"):"""
        Prints "Hello {name}!"
        """print"Hello {0}!".format(name)classmyhandler(Handler):"""
    Organizational container of commands which can also add state variables
    """classState:version='0.0.2'# Handlers can have their own versioningcli='mycli'msg="World"@commanddefvalidate(cli,data):returndata@commanddefhello(cli,msg=None):"""
        Prints "Hello World!"
        """name=cli.normal_function(data=msg)name=cli.myhandler.validate(data=name)cli.greeting(name=name)if__name__=="__main__":mycli.main()

然后在命令行上

$ python mycli.py myhandler hello
> Hello World!
$ #or if installed as a console script via setuptools
$ mycli myhandler hello
> Hello World!
$ #also
$ mycli myhandler hello "Josh"
> Hello Josh!
$ mycli --help
> Toplevel program - mycli
>
> Usage:
>     mycli [options] <command> [<args>...]
>     mycli [options]
>
> Options:
>     -h, --help                     Show this screen.
>     --version                      Show version.
>     -d, --debug                    Show debug messages
>     --config=<CONFIG>              The config filepath [default: ~/.mycli.cfg]
>
> Commands:
>     greeting                       Prints "Hello {name}!"
>     myhandler                      Organizational container of commands which can also add state variables
>
$ mycli myhandler hello --help
> Prints "Hello World!"
>
> Usage:
>     hello [options]
>     hello <msg>
>
> Options:
>     --msg=<MSG>                      [default: None]
>

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

推荐PyPI第三方库


热门话题
java在TextView中对齐部分文本   带有iText和eTPKCS11的java PKCS#11签名。dll&SunPKCS11提供程序   java Intellij Idea找不到jar   java Chrome/Firefox和Jetty HTTPS   java我无法打包找不到的JavaFX应用程序模块   多线程Java:排序从异步任务检索的结果   java客户端/服务器socket不能与外部连接一起工作   java如何在单击“下一步”按钮时获取其他详细信息?   java组织。springframework。网状物客户RestTemplate应声明为@Bean,而plain@Autowired抛出错误   java如何绘制javax。摆动将ImageIcon转换为JavaFX。fxml呈现用户界面?   使用for循环的Java跟踪   java如何编码字符串以显示彩色文本(基于字符串中的前缀)   Java保存/打开文件对象   基于java复选框的搜索:使用尽可能多的“”动态生成准备好的语句作为选中复选框的计数   java为什么crawler4j随机挂起?