小标
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
您输入的评论内容中包含违禁敏感词
我知道了

请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号