命令循环实现环境

CmdLoop的Python项目详细描述


用于编写简单交互命令循环环境的基类。

command loop提供了用于编写简单交互用户环境的基类。它是围绕子类设计的,有一个简单的命令
解析器,初始化起来很简单。


这里有一个使用commandloop编写的小环境:


ps1='hello>;'

@cmdloop.aliases('hello','hi',,'hola')
@cmdloop.shorthelp('say hello')
@cmdloop.usage('hello target')
def hellocmd(self,flags,args):
'
'
向target打招呼,默认为'world'
'
如果是flags或len(args)>;1:
如果args:
target=args[0]
否则:
target=self.default\target
打印>;>;self.out,'hello%s!'%target

@cmdloop.aliases('quit')
def quitcmd(self,flags,args):
'
退出环境。
'
引发cmdloop.haltloop


这里有一个更复杂的示例:


class hellogoodbye(cmdloop.commandloop):
ps1='hello>;'

def初始化(self,默认“目标=”world“):
self.default“目标=默认”目标
self.target“列表=[]

@cmdloop.aliases('hello','hi','hola')
@cmdloop.shorthelp('say hello')
@cmdloop.usage('hello[target]')
def hellocmd(self,flags,args):
'
向target打招呼,它默认为“world”

if flags或len(args)>;1:
raise cmdloop.invalidarguments
if args:
target=args[0]
else:
target=self.default\target
如果target不在self.target\u列表中:
self.target_list.append(target)
打印>;>self.out,'hello%s!'%target

@cmdloop.aliases('goodbye')
@cmdloop.shorthelp('say goodbye')
@cmdloop.usage('goodbye target')
def goodbyecmd(self、flags、args):
'
'
'
'
'
如果是flags或len(args)!=1:
引发CmdLoop.InvalidArguments
target=args[0]
如果目标在self.target目录中:
打印>;>self.out,再见%s!'%target
self.target_list.remove(target)
否则:
打印>;>self.out,“我没有跟%s打招呼。”%target

@cmdloop.aliases('quit')
def quitcmd(self,flags,ARGs:
''BR/>退出环境。
'BR/>提高CMDROPF。HaltLoop
BR/> DEFF ONEXCELL(自我):
如果LeN(Bo.TalkType列表):
自我。))
对于self.target_列表中的目标:
self.pushcommands((“再见,目标))
否则:
raise cmdloop.haltloop

hellogoodbey().runloop()

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Android使用两个后台服务错误   解压缩HTTPInputStream时,java GZIPInputStream过早关闭   javax和javax的区别是什么。网ssl。密钥库和服务器。ssl。为SpringBoot应用程序指定密钥库时的密钥库属性   java生成两个JPanel,而我只需要一个   java深度链接从play store安装应用程序时获取数据   java 安卓应用程序在退出时未正确释放蓝牙   java正确使用setCellValueFactory   java开放JdbcTemplate连接处于只读模式?   使用Spring MVC创建服务时发生java错误   JavaFX获取安装在计算机中的特定应用程序的版本   SecureRandom的安全问题:PRNG在java 1.5中不一致   windows我可以创建一个独立的。带Inno设置的Java应用程序的exe安装程序?   如何使用JavaServlet下载csv文件?   java从生成的缓冲图像中添加图像作为jasper中的数据记录?   java日期和时间解析