Python中如何使用cmd模块读取用户输入
发布时间:2023-12-26 02:51:37
在Python中,可以使用cmd模块实现一个命令行应用程序,其中包含了自定义的命令和用户输入的交互。cmd模块提供了一个基类Cmd,我们可以继承这个类,然后自定义我们的应用程序。
下面是一个简单的示例,展示了如何使用cmd模块读取用户输入,并处理用户输入的命令。
from cmd import Cmd
class MyCmd(Cmd):
prompt = '> ' # 设置命令提示符
def do_hello(self, line):
"""打印欢迎消息"""
print('Hello, world!')
def do_greet(self, name):
"""向指定的人打招呼"""
print(f'Hello, {name}!')
def do_quit(self, line):
"""退出程序"""
return True
if __name__ == '__main__':
app = MyCmd()
app.cmdloop() # 进入命令行循环
在上面的示例中,我们定义了一个继承自Cmd的类MyCmd。我们可以在这个类中定义各种方法来处理用户输入的命令。每个方法都以do_开头,后面跟着命令的名称,参数可以是命令的参数或者剩余的输入行。
在do_hello方法中,我们定义了一个简单的命令,用于打印欢迎消息。在do_greet方法中,我们定义了一个带参数的命令,用于向指定的人打招呼。
do_quit方法用于退出程序。返回True将退出命令行循环。
在MyCmd类中,我们还定义了一个类属性prompt,用于设置命令提示符。在上面的示例中,我们将命令提示符设置为'> '。
在__main__条件中,我们创建了一个MyCmd对象并调用了cmdloop方法,进入了一个命令行循环。在这个循环中,我们可以通过输入命令来交互。
运行这个示例程序,你将看到一个命令提示符>,你可以输入命令来和程序交互。例如,输入hello命令会打印出Hello, world!。
> hello Hello, world! > greet John Hello, John! > quit
以上就是使用cmd模块读取用户输入的一个简单例子。你可以根据自己的需求来扩展和修改这个例子,在命令行应用程序中添加更多的命令和功能。
