我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python之cmd库学习

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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 = "<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

python之cmd库学习

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python之cmd库学习

一:cmd介绍    引用python的官方文档    The cmd class provides a simple framework for writing line-orientedcommand interpreters.  Th
2023-01-31

python之_requests库学习_

一、超时 可以告诉 requests 在经过以 timeout 参数设定的秒数时间之后停止等待响应。 连接超时指的是在你的客户端实现到远端机器端口的连接时Request 会等待的秒数。一个很好的实践方法是把连接超时设为比 3 的倍数略大的一
2023-01-30

Python标准库学习之urllib

本系列以python3.4为基础urllib是Python3的标准网络请求库。包含了网络数据请求,处理cookie,改变请求头和用户代理,重定向,认证等的函数。urllib与urllib2?:python2.x用urllib2,而pytho
2023-01-31

python学习之--习题集

1.什么是PVM?pvm是python的虚拟机,它是python运行时引擎解释编译得到的代码
2023-01-31

Python学习之------retry

在做数据抓取的时候,经常遇到由于网络问题导致的程序保存,先前只是记录了错误内容,并对错误内容进行后期处理。原先的流程:def crawl_page(url): passdef log_error(url): passurl =
2023-01-31

python之syslog学习

Normal07.8 磅02falsefalsefalseEN-USZH-CNX-NONE table.MsoNormalTable{mso-style-name:普通表格;mso-tstyle
2023-01-31

python学习之pandas

#Pandas'''1,Pandas是Python的一个数据分析报包,该工具为解决数据分析任务而创建。2,Pandas纳入大量库和标准数据模型,提供搞笑的操作数据集所需的工具3.pandas提供大量能使我们快速便捷地处理数据的1函数方法4,
2023-01-31

python学习之道

2018/3/16开始学习python这门语言的第一天,我的职业是网络工程师,数通无线安全方向,因为对技术比较喜欢,所以在工作之余会学习一些高端的技术,比如:虚拟化,存储之类的,现在网络工程师已经越来越多了,而且传统技术是过不了多少年的,所
2023-01-31

Python 学习之路 - Python

一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
Python 学习之路 - Python
2023-01-31

python 学习之 PythonAdv

#!/usr/bin/python#coding=utf-8#词典'''nl = [1, 3, 8]nl.append(15)print nlbl = [2, 3, 5]print nl + bldic = {'tom': 11, 'sam
2023-01-31

Python学习之property

Python中使用Property函数可以将类中的函数当作属性来调用。案例 1 __metaclass__=type 2 class Rectangle: 3 def __init__(self): 4 self.w
2023-01-30

python学习之---mutable

python的数据类型分为mutable(可变) 和 immutable (不可变)mutable : list ,dictinmutable : int , string , float ,tuple...mutable和immutabl
2023-01-31

python学习之路

第一部分    使用入门1、人们选择python的六个主要原因是什么?①软件质量、开发者的效率、程序的可移植性、标准库的支持、组件集成和享受简便,其中质量和效率是选择python的主要原因。2、请列举正在使用python的四个著名公司的名字
2023-01-31

Python学习之类

前言:之前写的博客,都是借鉴别的博文或者是环境的配置,没有自己的东西,掌握的很少。以后的博文,我都会尽力加上一些自己的东西。现在开始进入我的python世界吧!为什么要有类:在面向对象编程中,你要通过类来创建对象。通过类你可以对对象进行定义
2023-01-31

Python学习之List

**Python的列表可以存儲任何數據類型,包括列表本身。它是通過索引訪問。**Python的索引值是從0開始的,以些類推**Python是通過中括號來包含所有的值,值與值之間通過","號分隔**查看python列表的擁有哪些方法,可以通過
2023-01-31

python学习之matplot

import matplotlib.pyplot as pltimport numpy as npimport pandas as pdfrom mpl_toolkits.mplot3d import Axes3Dimport matp
2023-01-31

Python学习之初识Python

Python作为一种面向对象,解释型的程序语言。拥有简洁(通过缩进来区别不同的语句块),丰富强大的库。可以将多个模块导入使用的特性又被称之为脱水语言。Django可作为Python的Web开发框架语句块:   Python通过相同的缩进来确
2023-01-31

python学习之路—day1

变量:存储信息,日后被调用、修改操作.常量:固定不变的量,字母大小写。命名规则:1,、字母数字下划线组成2、命名具有代表意义的3、不能以数字开头,特殊符号开头4、不能以保留字命名,lg:for等5、命名一般不以中文命名6、命名一般以驼峰体形
2023-01-30

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录