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

使用Python cmd模块的命令的别名,第1张

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

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

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

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

解决方法 您可以覆盖 default方法并搜索合适的命令处理程序(如 Brian所示):
import cmdclass 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模块的命令的别名所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1207350.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存