Python 学习日知录(六)- 简单好用的命令行框架cmd

Python 学习日知录(六)- 简单好用的命令行框架cmd

出差几日,终于回来继续学习。

话说Python好用,主要在于其自带的模块都很实用,犹如一把瑞士军刀,轻便、锋利又功能齐全。一直想找一个框架来实现我的命令行调试小工具,搜索一番便找到,而且居然是Python的标准模块,这就是cmd模块。

首先,作为命令行,有如下几个基本要素:

  • 命令
  • 帮助
  • 提示符
  • 启动信息

下面以一段代码来介绍cmd是如何实现这些要素的:

# -*- coding:utf8 -*-

import cmd  # 导入cmd模块


version = '1.0.0'


class MyCmd(cmd.Cmd):  # Cmd是以面向对象设计的
    def __init__(self):
        cmd.Cmd.__init__(self)
        self.intro = 'welcome to Python World'  # 定义启动时打印的信息
        self.prompt = '>'  # 定义提示符

    def do_version(self, arg):  # 定义'version'命令
        '''
            version : show the version
        '''

        print version

    def do_name(self, arg):  # 定义'name'命令
        print 'test cmd'

    def help_version(self):  # 定义'version'命令的帮助信息
        print 'show the version'

    def help_name(self):  # 定义'name'命令的帮助信息
        print 'show the name'

    def do_quit(self, arg):  #定义退出命令'quit',退出程序
        return True  # 函数返回True,则干净退出程序

    def help_quit(self):  # 定义'quit'命令的帮助信息
        print "syntax: quit -- terminatesthe application"


    do_q = do_quit  # 定义'quit'命令的别名'q'


if __name__ == '__main__':
    myCmd = MyCmd()  # 创建一个MyCmd的实例
    myCmd.cmdloop()  # 启动cmd循环

可以看到,do_ +命令名,定义了命令;而help_ +命令名,则定义帮助信息。
cmd自带一套帮助系统,直接打help会打印所有的命令,打help + cmd_name,则答应了对应命令的帮助信息。

下次计划学一点命令行的高级知识,让自己的命令行程序变得酷一些。


参考资料:
1. Python中cmd模块的使用说明

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值