我正在使用 cmd 模块来创建一个简单的 shell。对于两个命令,我有两个不同的列表。一方面,完成工作按预期工作,但另一方面却没有。
[Good list] IntList="eth0", "eth1", "eth2"
[Bad List] IntList="heth-0-0","heth-0-1","heth-0-2","heth-0-3","heth-0-4"
我的例程如下:
def complete_interface(self, text, line, begidx, endidx):
return[ f for f in IntList if f.startswith(text)]
当我运行 shell 并在“界面”之后点击两次时,我看到了
Delem(eth2): interface eth
eth0 eth1 eth2
Delem(eth2): interface eth
eth0 eth1 eth2
Delem(eth2): interface eth
但是当我使用另一个列表时,我得到
Delem(heth0-0): interface heth-0-heth-0-
No such interface: heth-0-heth-0-
Delem(heth0-0):
看看它是如何在第二个列表中附加开始字符串的?不知道如何调试这个......