So führen Sie die automatische Vervollständigung von Python-Befehlen durch, jedoch NICHT nur am Anfang eines Strings

Python ermöglicht durch seine Readline - Bindungen eine hervorragende automatische Vervollständigung der Befehlszeile (wie inHier).

Die Vervollständigung scheint jedoch nur am Anfang von Zeichenfolgen zu funktionieren. Wenn Sie mit der Mitte oder dem Ende einer Zeichenfolge übereinstimmen möchten, funktioniert die Readline nicht.

Ich möchte Strings in einem Kommandozeilen-Python-Programm automatisch vervollständigen, indem ich das, was ich eingebe, mit einem der Strings in einer Liste der verfügbaren Strings vergleiche.

Ein gutes Beispiel für die Art der automatischen Vervollständigung, die ich haben möchte, ist die Art, die in GMail auftritt, wenn Sie in das Feld An eingeben. Wenn Sie einen Nachnamen Ihrer Kontakte eingeben, wird dieser genauso angezeigt, wie wenn Sie ihren Vornamen eingegeben haben.Die Verwendung der Aufwärts- und Abwärtspfeile oder eine andere Methode zum Auswählen aus den übereinstimmenden Zeichenfolgen ist möglicherweise erforderlich (und im Fall von readline nicht erforderlich), und das ist in meinem Fall in Ordnung.Mein besonderer Anwendungsfall ist ein Befehlszeilenprogramm, das E-Mails sendet.Spezielle Codebeispiele wären sehr hilfreich.

Terminal-Emulatoren wie Flüche zu verwenden, wäre in Ordnung. Es muss nur unter Linux laufen, nicht unter Mac oder Windows.

Hier ist ein Beispiel: Angenommen, ich habe die folgenden drei Zeichenfolgen in einer Liste

['Paul Eden <[email protected]>', 
'Eden Jones <[email protected]>', 
'Somebody Else <[email protected]>']

Ich hätte gerne einen Code, der die ersten beiden Elemente in der Liste automatisch vervollständigt, nachdem ich "Eden" eingegeben habe, und mir dann erlaubt, eines davon auszuwählen (alles über die Befehlszeile mithilfe der Tastatur).

Antworten auf die Frage(1)

Ihre Antwort auf die Frage