Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python CMD自动完成无法正常工作_Python_Python 3.x_Autocomplete - Fatal编程技术网

Python 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

(Python 3.3.4)

我目前正在使用cmd模块构建一个应用程序,但由于某些原因,我无法正确完成。每当我点击
选项卡
时,它只会缩进我的输入字符串

所以,如果我有这样的东西:
(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应用程序,为了让自动完成工作,安装pyreadlinereadline模块是特定于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,但自动完成仍然不起作用。