【发布时间】:2014-03-02 13:48:39
【问题描述】:
我一直在玩 cmd python 模块,并正在查看文本完成功能。我一直试图让它扩展/识别“~”到我的主目录,但无济于事。
我注意到我可以通过覆盖 cmd 模块中的 completedefault(self, *ignored) 方法来处理默认完成。其中ignored 是文本、行、begidx、endidx 的元组。如果我输入命令my_command ./folder,text 参数将是'./folder',这意味着我可以执行以下操作:glob.glob(text + '*') 返回该文件夹中所有文件的列表。但是,如果我现在执行my_command ~/folder,则text 变量现在只包含/folder,因此我无法使用os.path.expanduser(text) 来确定该文件夹的绝对路径并显示该文件夹中的所有文件。
基本上,我想知道是否有人可以指出我正确的方向,以便扩展其中包含 ~ 的路径。
【问题讨论】:
-
您需要隔离感兴趣的事物。
expanduser('~/folder')会给你你想要的。你能用begidx/endidx吗?
标签: python cmd tab-completion tilde