Ich versuche, eine kleine REPL unter Verwendung der cmd
Bibliothek in Python zu schreiben. Eine der Funktionen, die es bietet, ist die automatische Tab-Vervollständigung, die ich nicht möchte.Einstellung completekey = None entfernt Pfeil-nach-oben-Funktion
Glücklicherweise erwähnen die Dokumente "Wenn completekey nicht None ist und readline verfügbar ist, erfolgt die Befehlsvervollständigung automatisch." Also habe ich completekey=None
gesetzt, als ich meine cmd.Cmd
Unterklasse instanziierte, die funktionierte.
jedoch die Hauptfunktionalität des Moduls cmd
, die Verwendung von readline
die Unterstützung für Pfeil nach oben Geschichte gibt, war auch deaktiviert, und jetzt bin ich wieder zu ^[[A
‚s.
Warum passiert das und gibt es eine Lösung?
kommt es vor, wahrscheinlich, weil, wenn 'completekey = None', das' readline' Modul nie geladen wird (siehe [die Quelle] (https://hg.python.org/cpython/file/3.5/Lib/ cmd.py). Sie können möglicherweise umgehen, indem Sie 'cmd.Cmd' ableiten, indem Sie entweder die' cmdloop'- oder überschreibenden 'complete'-Methoden außer Kraft setzen. – Evert