【云计算】oslo_config实现命令行
小标 2018-12-05 来源 : 阅读 1420 评论 0

摘要:本文主要向大家介绍了【云计算】oslo_config实现命令行,通过具体的内容向大家展现,希望对大家学习云计算有所帮助。

本文主要向大家介绍了【云计算】oslo_config实现命令行,通过具体的内容向大家展现,希望对大家学习云计算有所帮助。


  oslo_config 是openstack 的命令行和配置库.本文用oslo_config 实现一个简单的命令行工具mycmd.主要实现 "mycmd ls" 和 "mycmd cd".由于目的主要在于介绍oslo_config实现命令行.因此两个命令并没有实际功能只是打印.

1. 创建包MyCmd:


# tree


.


├── __init__.py


├── mycmd.py


0 directories, 2 files


其中mycmd.py内容如下:


from oslo_config import cfg


import sys


CONF = cfg.CONF


class MyCommand(object):


def ls(self):


print "MyCommand ls"


def cd(self):


print "MyCommand cd"


def add_command_parsers(subparsers):


commond_object = MyCommand()


parser = subparsers.add_parser('ls',


help="This is mycmd ls")


parser.add_argument('-m', '--message')


parser.add_argument('-a', '--all')


parser.set_defaults(func=commond_object.ls)


parser=subparsers.add_parser('cd',


help="This is mycmd cd")


parser.add_argument('-m', '--message')


parser.add_argument('-r', '--directory')


parser.set_defaults(func=commond_object.cd)


def main():


command_opt = cfg.SubCommandOpt('mycmd',


title='MyCmd', handler=add_command_parsers,


help='My Command')


CONF.register_cli_opt(command_opt)


CONF(sys.argv[1:], __name__)


CONF.mycmd.func()


2. 将包移动到python的site-package下面:/usr/lib/python/site-package/下面


3. 在/usr/bin目录下实现脚本mycmd,内容如下:


import sys


from MyCmd.mycmd import main


if __name__ == "__main__":


sys.exit(main())


4. 使用命令


# mycmd ls


MyCommand ls


# mycmd cd


MyCommand cd


          

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标大数据云计算大数据安全频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved