CMD 自动完成无法正常工作

RGS*_*RGS 3 python autocomplete python-3.x

(Python 3.3.4)

\n\n

我目前正在使用 cmd 模块来构建应用程序,但由于某种原因我无法让完成工作正常工作。每当我点击tab它时,就会缩进我的输入字符串!

\n\n

所以,如果我有这样的东西:\n (MyShell)>> ta\xc2\xabcursor here\xc2\xbb\n我点击 \xc2\xabtab\xc2\xbb 并得到这个:\n(MyShell)>> ta \xc2\xabcursor here\xc2\xbb

\n\n

我已经在 IDLE、Windows Power Shell 和 Python 解释器本身中尝试过了,我猜...\n命令的完成和参数的完成都不起作用!

\n\n

代码是这样的:

\n\n
class MyShell(cmd.Cmd):\n\n    def __init__(self):\n        cmd.Cmd.__init__(self)\n        self.intro = "Welcome to MyShell test.\\nPowered by Rodrigo Serr\xc3\xa3o"\n        self.prompt = "(MyShell)>>"\n\n    def do_talk(self, text):\n        print("Hello")\n\n    stuff = ["blabla", "bananas!", "noodles"]\n    def complete_talk(self, text, line, s, e):\n        if text:\n            return [i for i in stuff if i.startswith(text)]\n        else:\n            return stuff\n\n\nMyShell().cmdloop()\n
Run Code Online (Sandbox Code Playgroud)\n\n

我读过一些与此相关的问题,包括这个:\n Python Cmd Tab Completion Problems

\n\n

而且可能和那件事有关readline。我尝试导入它,但显然我没有它。

\n

小智 5

如果这是您的问题,请检查此方法。

转到运行并输入 regedit。

转到 LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor。

并将PathCompletionChar值更改为 9。通常为 40。这意味着您当前的自动完成键不是TAB键。分配值 9 后,关闭窗口并重新启动 CMD。

现在这个问题将得到解决。通过 TAB 键自动完成路径可以正常工作。