python 命令行库_python之cmd库学习

一:cmd介绍

引用python的官方文档The cmd class provides a simple framework for writing line-oriented

command interpreters.  These are often useful for test harnesses, administrative

tools, and prototypes that will later be wrapped in a more sophisticated

interface

cmd是一个提供一种基于面向命令行解释器编写程序的简单框架,这些通常用于测试工具,管理工具和稍后包裹在更加复杂的接口的原型非常有用。

二:cmd的基本使用

编写基于cmd的程序要注意以下几个点:1.要继承自cmd.Cmd类

2.要先初始化父类

3.所有的命令都是以do_开头

4.所有的命令帮助都是以help_开头

5.一个命令对应一个帮助,如果没有帮助执行错误命令会出错。

三:cmd例子

# -*- coding: utf-8 -*-

#!/usr/bin/python env

#引入一些包

import sys

import cmd

import os

#继承cmd.Cmd类

class Cli(cmd.Cmd):

def __init__(self):

#先初始化父类

cmd.Cmd.__init__(self)

#设置命令行的提示符

self.prompt = ""

#第一个命令dir命令,带一个参数

def do_dir(self,arg):

if not arg:

self.help_dir()

elif os.path.exists(arg):

print "\n".join(os.listdir(arg))

else:

print "No such pathexists"

#带第二个命令

def do_quit(self,arg):

return True

#dir命令的帮助

def help_dir(self):

print "syntax:dir path -- displaya list of files and directories"

#help命令的帮助

def help_quit(self):

print "syntax:quit --terminatesthe application"

#命令的别名

do_q = do_quit

if __name__ == "__main__":

#开始执行cmd

cli = Cli()

#循环接受用户输入的命令

cli.cmdloop()

四:执行结果[root@work python]# python cmdtest.py

dir

syntax:dir path -- displaya list of files and directories

dir /tmp

keyring-8MjWB8

ferret

.ICE-unix

keyring-6y9txT

orbit-gdm

.X11-unix

keyring-e2WQQa

.X0-lock

pulse-weKNqpdx0HtQ

keyring-AoiV8e

keyring-i47ize

keyring-BshjbU

pulse-8TDHlwHPDc2j

keyring-vIwkfE

keyring-M5PGn7

keyring-pb8Q2x

keyring-TME3bW

keyring-gTw1ih

.esd-0

help

Documented commands (type help ):

========================================

dir  quit

Undocumented commands:

======================

help  q

q

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值