gpt4 book ai didi

未调用python cmd completedefault()方法

转载 作者:行者123 更新时间:2023-11-28 16:38:35 28 4
gpt4 key购买 nike

考虑以下 Python 2.7 脚本:

#!/usr/bin/python

import cmd

class T(cmd.Cmd):
def completedefault(self, *a):
print 'completedefault called'
return []

t=T()
t.cmdloop()

当我期望的时候:

我在 shell 中输入一个字符,然后点击 Tab,我希望看到打印出“completedfault called”。

实际发生了什么:

我在 shell 中输入一个字符,然后点击 Tab,但没有任何反应。

使用 Python 2.7.3 测试。

最佳答案

completedefault 你输入了一个没有 complete_<commandname> 的命令后被调用来完成输入行-方法可用。

试试这个:

#!/usr/bin/python

import cmd

class T(cmd.Cmd):
def completedefault(self, *a):
print 'completedefault called'
return []

def test(self, *args):
print "test args: ", args

t=T()
t.cmdloop()

现在输入test [空格] 并按 Tab,completedefault应该立即执行。

如果你想控制命令名称的完成,你可以使用completenames这样做,不是completedefault .

关于未调用python cmd completedefault()方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22723012/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com