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()退出之后调用该方法;
相关推荐
Python os 模块简介 OS 模块是 Python 的一个内置模块,提供了多数操作系统的功能接口函数。当 OS 模块被导入后,它会自适应于不同的操作系统平台,根据不同的平台进行相应的操作。在 Python 编程时,经常和文件、...
本文实例讲述了Python使用CMD模块更优雅的运行脚本的方法。分享给大家供大家参考。具体分析如下: 平时由于经常给测试人员调试一些东西,虽然写了一些脚本,感觉还是不方便。 python的cmd模块提供的更优雅的方式,很...
python 通过itchat模块 通过登录微信后 通过指令控制电脑 截屏、关机、pyhook监听键盘、执行cmd命令、启动关闭软件、照相获取当前用户等等自动化
2. **os**: Python内置的os模块,提供了许多与操作系统交互的功能,包括调用系统命令。 3. **subprocess**: 另一个Python标准库,用于创建新的进程,连接到它们的输入/输出/错误管道,并获取它们的返回码。 下面是...
总的来说,Python的pytesser模块为开发者提供了一种简单的方式,将Tesseract OCR集成到Python项目中,从而实现对图像中文字的识别,包括中文。然而,实际应用中可能需要结合其他图像处理技术,以及对Tesseract的深入...
cmd2是一个强大的命令行接口库,它扩展了Python内置的cmd模块,提供了更高级别的交互式应用框架。本文将详细介绍cmd2库及其在0.4.2-py2.5版本中的特性,帮助开发者更好地理解和使用这个库。 一、cmd2库简介 cmd2库...
首先,我们要了解Python中的`subprocess`模块,它是用来创建新的进程、连接到它们的输入/输出/错误管道,并获取它们的返回码的。在给定的例子中,我们使用`subprocess.Popen`来执行命令并捕获其输出。 第一步,捕获...
Python 模块导入安装使用 Python 模块导入安装使用是 Python 编程语言中一个非常重要的概念。 Python 模块是 Python 的扩展包,它可以提供更...通过本文档,读者可以学习到 Python 模块的安装、使用和管理的详细过程。
7. **commands模块**:虽然在新版本的Python中已经被弃用,但`commands.getstatusoutput(cmd)`仍可用于执行系统命令并获取其状态和输出。 8. **struct模块**:处理二进制数据的打包和拆包。`struct.pack()`将Python...
在学习如何执行CMD指令的同时,你也可能会对其他Python编程技巧感兴趣,比如如何使用`conda`管理Python环境,或者如何以更美观的方式打印输出。`conda`是Anaconda发行版中的包管理器,可以方便地创建、管理和切换...
1. 在执行python程序时遇到 ‘ModuleNotFoundError: No module named ‘xxxxx” : 例如: 图片中以导入第三方的 ...打开cmd输入 'pip list' 先查看安装了哪些模块: 这里并没有安装所需要的requests模块,接着输
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....
python直接安装即可,成功后,建议将各模块放置于python安装目录某处(如scripts)。 模块安装:如打开cmd进入管理员界面,输入cd +模块存放位置,enter后进入模块存放路径,使用pip install+文件全名(包括后缀名)...
在Python中编写Hive脚本主要是为了方便地与Hadoop HIVE数据仓库进行交互,这样可以在数据分析和机器学习流程中无缝地集成大数据处理步骤。以下将详细介绍如何在Python环境中执行Hive查询和管理Hive脚本。 1. **直接...
这篇文章主要讨论了Python中的一些常用内置模块及其用法,包括与操作系统交互的相关功能。 首先,Python的内置模块提供了许多方便的功能,无需import即可直接使用。例如,`help(obj)`函数是一个非常实用的工具,它...
LVPM是由National Instruments官方提供的一个LabVIEW插件,它允许直接在LabVIEW中创建和调用Python模块。安装LVPM后,用户可以在LabVIEW中创建Python接口,定义输入和输出参数,然后调用Python代码。LVPM支持多种...
在Windows系统的命令提示符(cmd)中,以管理员身份运行,输入命令“pip install sprites”即可完成安装。 3. 教程内容概览 教程内容涵盖了多个方面的知识点,其中包括: - 前置知识:包括海龟画图、海龟对象、屏幕...