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

yizhihongxing

Python自带了CMD模块,这个模块可以使Python程序更加优雅地运行脚本。下面是如何使用CMD模块运行Python脚本的详细攻略。

安装CMD模块

CMD模块在Python官方文档中的称呼是cmd — Support for line-oriented command interpreters。这个模块已经默认安装在标准Python环境中,你无需再次安装。如果你的Python环境中没有CMD模块,你可以使用pip install cmd安装。

编写基本命令行程序

要写一个基本的命令行程序,我们需要继承cmd.Cmd类并定义一些命令行方法。以下是一个简单的例子,它是一个计算器程序,实现了加、减、乘、除四种基本算术运算。

import cmd

class Calc(cmd.Cmd):

    def do_add(self, arg):
        """Add two numbers together"""
        nums = arg.split()
        res = sum(map(float, nums))
        print(res)

    def do_sub(self, arg):
        """Sub two numbers together"""
        nums = arg.split()
        res = float(nums[0]) - float(nums[1])
        print(res)

    def do_mul(self, arg):
        """Muliply two numbers together"""
        nums = arg.split()
        res = float(nums[0]) * float(nums[1])
        print(res)

    def do_div(self, arg):
        """Div two numbers"""
        nums = arg.split()
        res = float(nums[0]) / float(nums[1])
        print(res)

    def do_quit(self, arg):
        """Quit the program"""
        return True

if __name__ == '__main__':
    Calc().cmdloop()

使用cmd.Cmd类创建一个基本的命令行程序是非常简单的。我们只需要定义一些do_开头的方法,在这些方法中实现我们想要的功能。

在上面的例子中,我们定义了四种基本算术运算方法和一个退出方法。当用户在提示符处输入这些方法的名称时,程序就会按照这些方法的实现来进行相应的计算。如果用户在提示符处输入quit,程序就会退出。

运行基本命令行程序

在进入程序的主界面,我们可以使用标准的Python交互式命令行来运行基本命令行程序。要做到这一点,我们只需要将程序保存为calc.py并在命令行中输入以下命令:

$ python calc.py

此时,程序将会进入一个交互式的环境,并显示一个提示符Calc >。此时,我们只需要在命令行中输入我们想要执行的命令,例如:

Calc > add 1 2 3
6.0
Calc > sub 5 2
3.0
Calc > mul 5 6
30.0
Calc > div 10 3
3.3333333333333335
Calc > quit

如果我们运行以上命令,则程序将会返回相应的输出并等待下一个输入。

使用CMD模块启动命令行程序

在上面的例子中,我们是使用标准的Python交互式命令行来运行我们的基本命令行程序。但是,这只是一个简单的演示。在实际生产环境中,我们通常需要启动自己编写的程序(即我们上面的calc.py)并让它直接进入命令行环境。这可以通过使用CMD模块中的cmdloop()方法来实现。

以下是一个使用CMD模块启动命令行程序的示例。这个示例与之前的计算器程序类似,但是它使用cmdloop()方法直接在启动时进入命令行环境。

import cmd

class Calc(cmd.Cmd):

    prompt = 'Calc > '

    def do_add(self, arg):
        """Add two numbers together"""
        nums = arg.split()
        res = sum(map(float, nums))
        print(res)

    def do_sub(self, arg):
        """Sub two numbers together"""
        nums = arg.split()
        res = float(nums[0]) - float(nums[1])
        print(res)

    def do_mul(self, arg):
        """Muliply two numbers together"""
        nums = arg.split()
        res = float(nums[0]) * float(nums[1])
        print(res)

    def do_div(self, arg):
        """Div two numbers"""
        nums = arg.split()
        res = float(nums[0]) / float(nums[1])
        print(res)

    def do_quit(self, arg):
        """Quit the program"""
        return True

if __name__ == '__main__':
    Calc().cmdloop()

在这个例子中,我们使用了prompt属性来设置命令行提示符。当使用者执行程序时,就会进入一个交互式的命令行环境,程序会等待用户输入命令。用户可以输入addsubmuldivquit等命令来执行相应的操作。

我们可以将此程序保存为calc.py,然后在命令行中通过以下方式启动:

$ python3 -m calc

这样,程序将会进入启动时的命令行环境,并等待用户输入命令。

综上所述,我们可以通过继承cmd.Cmd类并定义一些do_开头的方法来编写基本的命令行程序。此外,我们还可以使用CMD模块中的cmdloop()方法启动我们自己的命令行程序。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python使用CMD模块更优雅的运行脚本 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • 使用Python3编写抓取网页和只抓网页图片的脚本

    下面是使用Python3编写抓取网页和只抓网页图片的脚本的完整攻略: 抓取网页的脚本 前置知识 在开始编写抓取网页的脚本之前,需要先了解一下Python中的以下库: requests:用于发送HTTP请求,即访问网页。 beautifulsoup4:用于解析HTML代码,即从网页中提取所需的内容。 编写步骤 导入requests和beautifulsoup4…

    python 2023年5月14日
    00
  • Python实现对中文文本分段分句

    Python实现对中文文本分段分句 在中文文本处理中,对文本进行分段分句是一个常见的需求。Python提供了多种方法来实现这个功能。本文将总结Python实现对中文文本分段分句的方法,并提供两个示例说明。 方法一:使用正则表达式 正则表达式是一种强大的文本处理工具,可以用来匹配文本中的各种模式。我们可以使用正则表达式来匹配中文句子,并将文本分段分句。以下是示…

    python 2023年5月14日
    00
  • Python的数据结构与算法的队列详解(3)

    Python的数据结构与算法的队列详解(3) 在本文中,我们将继续讲解Python的数据结构与算法的队列,包括队列的实现方式、队列的应用场景及队列的注意项。同时,我们还将提供两个示例说明,以帮助读者更好地理解队列的使用方法。 队列的实现 队列是一种先进先出(FIFO)的数据结构,它可以用于存储一组元素,支持在队列的末尾添加元素,在队列的开头删除元素。在Pyt…

    python 2023年5月13日
    00
  • python的id()函数介绍

    Python的id()函数介绍 简介 在Python中,每个对象都有一个地址,id()函数返回该对象的内存地址。其实,这个地址就是该对象在内存中的位置。 用法 id()函数的调用方式很简单,只需要在函数中传入要获取地址的对象即可返回该对象的地址。 >>> a = 10 >>> id(a) 10914784 示例 示例1 &…

    python 2023年6月5日
    00
  • Python实现向PPT中插入表格与图片的方法详解

    这里是关于“Python实现向PPT中插入表格与图片的方法详解”的攻略: Python实现向PPT中插入表格与图片的方法详解 准备工作: 安装Python-pptx模块 Python-pptx是用于生成和更新PowerPoint (.pptx)文件的Python库,它是PPT格式的Python实现。可以在官网上查看详细的安装方法。 使用Python创建一个P…

    python 2023年5月19日
    00
  • Python 网页请求之requests库的使用详解

    下面是关于“Python 网页请求之requests库的使用详解”的完整攻略: 1. requests库简介 requests是一个Python第三方库,用于发送HTTP请求。 使用requests包可以轻松地向指定的URL发送请求,获取响应。 2. requests的安装 在终端中使用pip命令安装: pip install requests 3. req…

    python 2023年6月3日
    00
  • 详解Python3之数据指纹MD5校验与对比

    详解Python3之数据指纹MD5校验与对比 什么是数据指纹? 在计算机科学及相关领域中,数据指纹(也称数据摘要)是一种数据压缩技术,通常用于数字签名、消息认证代码(MAC),那些需要同时变更和存储一致性保证的应用中。 数据指纹能够对任意大小的数据生成一个固定大小的唯一“指纹”,该指纹通常由单向散列函数计算而来,常见的单向散列函数包括MD5和SHA1等。 在…

    python 2023年6月3日
    00
  • Win7 64位下python3.6.5安装配置图文教程

    以下是Win764位下Python3.6.5的安装配置图文教程: 1. 下载安装包 首先,你需要从官网下载Python3.6.5的安装包,链接如下: https://www.python.org/ftp/python/3.6.5/python-3.6.5-amd64.exe 下载完成后,双击安装包,选择“Add Python 3.6 to PATH”,然后一…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部