命令循环实现环境

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 Runtime exec不执行以下命令。原因可能是什么?   java使用JavaParser使用getExtendedType查找继承   XML文件Android出现java错误(解析XML时出错:格式不正确(无效令牌))   java正则表达式ReplaceAll不起作用   使用JCodeModel的java预写代码   用hibernate实现java国家/地区表示   java如何获得JR中的剩余线程?   在Java中,如何循环遍历字符串并检查它是否包含哈希映射中的键?   java启动配置没有看到来自其他捆绑包的类   在Java中找不到spring源代码   由customCursorAdapter在片段中加载列表时发生java NullPointerException   数据库体系结构中的安卓 Java类   java这个矩阵乘法代码是如何工作的?   cassandra Cassnadra Java驱动程序2.1对象映射器。检查冻结类型时出错   显示admob广告的java问题