`
zyueqi
  • 浏览: 144071 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Python 中的cmd模块学习

阅读更多

Python中的cmd模块类型提供了一个创建命令行解析器的框架。简单的来说,可以继承Cmd来创建命令行界面,然后对所有想处理的命令command执行do_command方法。默认情况下,它使用readline来进行交互式操作、命令行编辑和命令完成。

 

使用cmd创建的命令行解释器循环读取输入的所有行并且解析它们,然后发送命令给一个合适的命令处理器。输入行为解析成两个部分:命令和参数。如果用户输入cmd param,它解释成命令cmd和参数param,然后使用param作为参数调用do_cmd方法。如果do_cmd命令处理器返回真,那么程序会干净的退出,否则会继续等待下一个命令的输入。

 

关于Cmd的使用,通常都是创建自己的类型,继承于CMd,然后使用Cmd的方法来实现自己的功能,一个超简单的例子:

from cmd import Cmd
import sys

class CmdTest(Cmd):
    
    def __init__(self):            #初始基础类方法
        Cmd.__init__(self)
        
    def help_hello(self):
        print("输入hello 参数,将执行o_hello方法,输出参数值")
    
    def do_hello(self,line):
        print("do_hello:",line)
    
    def help_exit(self):          #以help_*开头的为帮助
        print("输入exit退出程序")
    
    def do_exit(self,line):       #以do_*开头为命令
        print("Exit:",line)
        sys.exit()
        
if __name__ =="__main__":
    cmd=CmdTest()
    cmd.cmdloop()

运行的结果:


 

介绍Cmd一些常用的方法

(1)cmdloop():类似与Tkinter的mainloop,运行Cmd解析器;

(2)onecmd(str):读取输入,并进行处理,通常不需要重载该函数,而是使用更加具体的do_command来执行特定的命名;

(3)emptyline():当输入空行时调用该方法;

(4)default(line):当无法识别输入的command时调用该方法;

(5)completedefault(text,line,begidx,endidx):如果不存在针对的complete_*()方法,那么会调用该函数

(6)precmd(line):命令line解析之前被调用该方法;

(7)postcmd(stop,line):命令line解析之后被调用该方法;

(8)preloop():cmdloop()运行之前调用该方法;

(9)postloop():cmdloop()退出之后调用该方法;

 

  • 大小: 6.9 KB
分享到:
评论

相关推荐

    python中os模块简介

    Python os 模块简介 OS 模块是 Python 的一个内置模块,提供了多数操作系统的功能接口函数。当 OS 模块被导入后,它会自适应于不同的操作系统平台,根据不同的平台进行相应的操作。在 Python 编程时,经常和文件、...

    Python使用CMD模块更优雅的运行脚本

    本文实例讲述了Python使用CMD模块更优雅的运行脚本的方法。分享给大家供大家参考。具体分析如下: 平时由于经常给测试人员调试一些东西,虽然写了一些脚本,感觉还是不方便。 python的cmd模块提供的更优雅的方式,很...

    python itchat模块通过微信控制电脑 截屏、关机、监听键盘、执行cmd命令、启动关闭软件....

    python 通过itchat模块 通过登录微信后 通过指令控制电脑 截屏、关机、pyhook监听键盘、执行cmd命令、启动关闭软件、照相获取当前用户等等自动化

    python脚本 通过cmd操作数据库

    2. **os**: Python内置的os模块,提供了许多与操作系统交互的功能,包括调用系统命令。 3. **subprocess**: 另一个Python标准库,用于创建新的进程,连接到它们的输入/输出/错误管道,并获取它们的返回码。 下面是...

    Python的pytesser模块

    总的来说,Python的pytesser模块为开发者提供了一种简单的方式,将Tesseract OCR集成到Python项目中,从而实现对图像中文字的识别,包括中文。然而,实际应用中可能需要结合其他图像处理技术,以及对Tesseract的深入...

    Python库 | cmd2-0.4.2-py2.5.egg

    cmd2是一个强大的命令行接口库,它扩展了Python内置的cmd模块,提供了更高级别的交互式应用框架。本文将详细介绍cmd2库及其在0.4.2-py2.5版本中的特性,帮助开发者更好地理解和使用这个库。 一、cmd2库简介 cmd2库...

    Python实时获取cmd的输出

    首先,我们要了解Python中的`subprocess`模块,它是用来创建新的进程、连接到它们的输入/输出/错误管道,并获取它们的返回码的。在给定的例子中,我们使用`subprocess.Popen`来执行命令并捕获其输出。 第一步,捕获...

    python模块导入安装使用.docx

    Python 模块导入安装使用 Python 模块导入安装使用是 Python 编程语言中一个非常重要的概念。 Python 模块是 Python 的扩展包,它可以提供更...通过本文档,读者可以学习到 Python 模块的安装、使用和管理的详细过程。

    python有关的模块

    7. **commands模块**:虽然在新版本的Python中已经被弃用,但`commands.getstatusoutput(cmd)`仍可用于执行系统命令并获取其状态和输出。 8. **struct模块**:处理二进制数据的打包和拆包。`struct.pack()`将Python...

    python执行CMD指令,并获取返回的方法

    在学习如何执行CMD指令的同时,你也可能会对其他Python编程技巧感兴趣,比如如何使用`conda`管理Python环境,或者如何以更美观的方式打印输出。`conda`是Anaconda发行版中的包管理器,可以方便地创建、管理和切换...

    执行Python程序时模块报错问题

    1. 在执行python程序时遇到 ‘ModuleNotFoundError: No module named ‘xxxxx” : 例如: 图片中以导入第三方的 ...打开cmd输入 'pip list' 先查看安装了哪些模块: 这里并没有安装所需要的requests模块,接着输

    python模块详解

    python模块详解 各个模块的详解 核心模块 1.1. 介绍 1.2. _ _builtin_ _ 模块 1.3. exceptions 模块 1.4. os 模块 1.5. os.path 模块 1.6. stat 模块 1.7. string 模块 1.8. re 模块 1.9. math 模块 1.10....

    python3.6及其各常用模块

    python直接安装即可,成功后,建议将各模块放置于python安装目录某处(如scripts)。 模块安装:如打开cmd进入管理员界面,输入cd +模块存放位置,enter后进入模块存放路径,使用pip install+文件全名(包括后缀名)...

    如何在python中写hive脚本

    在Python中编写Hive脚本主要是为了方便地与Hadoop HIVE数据仓库进行交互,这样可以在数据分析和机器学习流程中无缝地集成大数据处理步骤。以下将详细介绍如何在Python环境中执行Hive查询和管理Hive脚本。 1. **直接...

    Python中常用的模块用法分析.docx

    这篇文章主要讨论了Python中的一些常用内置模块及其用法,包括与操作系统交互的相关功能。 首先,Python的内置模块提供了许多方便的功能,无需import即可直接使用。例如,`help(obj)`函数是一个非常实用的工具,它...

    LabVIEW 调用 Python的三种方法_labview调用python_LabviewPython_lookrj7_wor

    LVPM是由National Instruments官方提供的一个LabVIEW插件,它允许直接在LabVIEW中创建和调用Python模块。安装LVPM后,用户可以在LabVIEW中创建Python接口,定义输入和输出参数,然后调用Python代码。LVPM支持多种...

    Python精灵模块教程_横排.pdf python创意程序PDF文档

    在Windows系统的命令提示符(cmd)中,以管理员身份运行,输入命令“pip install sprites”即可完成安装。 3. 教程内容概览 教程内容涵盖了多个方面的知识点,其中包括: - 前置知识:包括海龟画图、海龟对象、屏幕...

Global site tag (gtag.js) - Google Analytics