Python CMD自动完成无法正常工作
(Python 3.3.4) 我目前正在使用cmd模块构建一个应用程序,但由于某些原因,我无法正确完成。每当我点击Python CMD自动完成无法正常工作,python,python-3.x,autocomplete,Python,Python 3.x,Autocomplete,(Python 3.3.4) 我目前正在使用cmd模块构建一个应用程序,但由于某些原因,我无法正确完成。每当我点击选项卡时,它只会缩进我的输入字符串 所以,如果我有这样的东西: (MyShell)>>ta«光标在这里» 我点击«tab»得到以下信息: (MyShell)>>ta«光标在这里» 我已经在IDLE、windowspowershell和Python解释器本身中尝试过了,我想。。。 命令的完成和参数的完成都不起作用 代码如下: class MyShell(cmd.Cmd): d
选项卡
时,它只会缩进我的输入字符串
所以,如果我有这样的东西:
(MyShell)>>ta«光标在这里»
我点击«tab»得到以下信息:
(MyShell)>>ta«光标在这里»
我已经在IDLE、windowspowershell和Python解释器本身中尝试过了,我想。。。
命令的完成和参数的完成都不起作用
代码如下:
class MyShell(cmd.Cmd):
def __init__(self):
cmd.Cmd.__init__(self)
self.intro = "Welcome to MyShell test.\nPowered by Rodrigo Serrão"
self.prompt = "(MyShell)>>"
def do_talk(self, text):
print("Hello")
stuff = ["blabla", "bananas!", "noodles"]
def complete_talk(self, text, line, s, e):
if text:
return [i for i in stuff if i.startswith(text)]
else:
return stuff
MyShell().cmdloop()
我读过一些关于这方面的问题,包括这个:
这可能与
readline
有关。我试图导入它,但显然我没有它。所以我也在Python上编写一个交互式shell应用程序,为了让自动完成工作,安装pyreadline,readline模块是特定于Unix的
如果您不知道如何安装,请执行以下行:
pip安装pyreadline如果是您的问题,请检查此方法 转到run并键入regedit 转到本地\计算机\软件\ Microsoft\命令处理器 并将PathCompletionChar值更改为9。通常是40。这意味着您当前的自动完成键不是TAB键。分配值9后,关闭窗口并重新启动CMD
现在这个问题已经解决了。通过TAB键自动完成路径将可以正常工作。对我不起作用。我做了“SudoPip3安装pyreadline”。我使用的是Python 3.5.2:Python 3.5.2(v3.5.2:4DEF2A2901A520166年6月26日10:47:25)[GCC 4.2.1(Apple Inc.build 5666)(dot 3)]darwin@battey我用Windows进行了测试,正如你所看到的,PyReadline是专门针对它的,试试这个吧,谢谢你的想法。我试着安装任何ReadLine,但自动完成仍然不起作用。