2

我正在尝试使用 cmd 模块实现 python cmd。我想自动完成文件,所以我实现了一些方法,但是,我看到“complete_put(self, text, line, begidx, endidx):" 中的文本参数删除了所有的 '/' 字符。任何人都知道为什么,我该如何避免这种行为?谢谢 :)

4

2 回答 2

2

我解决了。只需要修改 set_completer_delims 属性。

于 2012-06-27T09:23:01.480 回答
0

这是我使用的代码,它基于互联网上的几个示例。

import os
import cmd
import readline
class Shell(cmd.Cmd, object):
    def __init__(self):
        cmd.Cmd.__init__(self)

    def __complete_path(self, path=None):
        return ['/bin', '/boot', '/etc']

    def do_put(self,args):
        print args

    def complete_put(self, text, line, begidx, endidx):
        print text
        if not text:
            return self.__complete_path()
        return self.__complete_path(text)
于 2012-06-14T00:32:25.373 回答