您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

使用Python cmd模块的命令的别名

5b51 2022/1/14 8:23:12 python 字数 1531 阅读 563 来源 www.jb51.cc/python

如何在使用cmd模块实现的面向行的命令解释器中为命令创建别名? 要创建命令,我必须实现do_cmd方法.但我有长名称(如约束)的命令,我想为这些命令(如co)提供别名(实际上是快捷方式).我怎样才能做到这一点? 我想到的一种可能性是实现do_alias(如do_co)方法,并在此方法中调用do_cmd(do_constraint).但是这在CLI的帮助下给我带来了新的命令. 有没有其他方法来实现这

概述

要创建命令,我必须实现do_cmd方法.但我有名称(如约束)的命令,我想为这些命令(如co)提供别名(实际上是快捷方式).我怎样才能做到这一点?

我想到的一种可能性是实现do_alias(如do_co)方法,并在此方法调用do_cmd(do_constraint).但是这在CLI的帮助下给我带来了新的命令.

有没有其他方法来实现这一目标?或者可能有办法隐藏帮助输出中的命令?

import cmd

class WithAliasCmd(cmd.Cmd):

    def default(self,line):
        cmd,arg,line = self.parseline(line)
        func = [getattr(self,n) for n in self.get_names() if n.startswith('do_' + cmd)]
        if func: # maybe check if exactly one or more elements,and tell the user
            func[0](arg)

总结

以上是编程之家为你收集整理的使用Python cmd模块的命令的别名全部内容,希望文章能够帮你解决使用Python cmd模块的命令的别名所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶