欢迎访问宙启技术站
智能推送

Python中使用cmdline()函数实现命令行菜单交互式操作

发布时间:2023-12-16 12:19:25

在Python中,我们可以使用cmd模块来创建一个命令行菜单,允许用户通过输入命令来执行不同的操作。该模块提供了Cmd类,我们可以继承该类,然后重写一些方法来实现自定义的命令行菜单。

以下是一个使用cmd模块实现命令行菜单交互式操作的示例:

import cmd

class MyMenu(cmd.Cmd):
    intro = "Welcome to My Menu. Type help or ? to list commands."
    prompt = "(My Menu) "
    menu_entries = ['option1', 'option2', 'option3']

    def do_option1(self, arg):
        """This is option 1"""
        print("You selected option 1")

    def do_option2(self, arg):
        """This is option 2"""
        print("You selected option 2")

    def do_option3(self, arg):
        """This is option 3"""
        print("You selected option 3")

    def do_exit(self, arg):
        """Exit the menu"""
        print("Goodbye!")
        return True

    def default(self, line):
        print("Invalid command. Please try again.")

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

在上面的示例中,我们创建了一个继承自cmd.Cmd的子类MyMenu。我们定义了一些菜单项,其中以do_开头的方法会被当作命令来执行,而do_exit方法用于退出菜单。

在菜单类中,我们还可以定义一些属性,比如intro为菜单的介绍性文本,prompt为命令提示符,menu_entries为菜单项列表。

cmd.Cmd类提供了一些默认的命令,比如quit用于退出菜单,help用于显示帮助信息,EOF用于处理文件结尾标记等。我们也可以重写这些方法来自定义它们的行为,比如在示例中的do_exit方法。

使用cmd模块的cmdloop()方法可以启动我们的菜单,开始与用户进行交互。

当我们运行上面的代码时,会看到一个命令行菜单界面:

Welcome to My Menu. Type help or ? to list commands.
(My Menu) 

用户可以在提示符(My Menu)后面输入相应的命令来执行不同的操作。

以下是一个交互式操作的例子:

Welcome to My Menu. Type help or ? to list commands.
(My Menu) option1
You selected option 1
(My Menu) option2
You selected option 2
(My Menu) option3
You selected option 3
(My Menu) exit
Goodbye!

上面的例子只是一个简单的示例,实际可以根据需求对菜单进行扩展,添加更多的菜单项和相应的功能。

希望这个例子能够帮助你理解如何使用cmd模块创建命令行菜单,并实现交互式操作。