python之cmd库学习
短信预约 -IT技能 免费直播动态提醒
一: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 = "<zhang>"
#第一个命令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
<zhang>dir
syntax:dir path -- displaya list of files and directories
<zhang>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
<zhang>help
Documented commands (type help <topic>):
========================================
dir quit
Undocumented commands:
======================
help q
<zhang>q
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341