Salût,
ich würde gerne den Input gleich bei der Eingabe mit einer Liste abgleichen, also ungefähr wie in der Bash, wenn man TAB verwendet. raw_input kommt ja wahrscheinlich nicht in Frage, und eine fetch-Key Lösung währe zu umständlich.
Jemand ne Idee ?
Merci,
aki
PS: gibts es ein Python Pendant zu clrscr() ?
like a Bash
Die Bash benutzt dazu die readline-Bibliothek, und die gibt es auch als Python-Modul, zumindest unter UNIX/Linux. Da kann man auch konfigurieren, wie sie den Abgleich macht. Es gibt auch zusätzlich ein rlcompleter-Modul, welches im interaktiven Python-Interpreter sehr komfortabel ist, da hast Du gleich eine Beispielanwendung.akIra hat geschrieben:ich würde gerne den Input gleich bei der Eingabe mit einer Liste abgleichen, also ungefähr wie in der Bash, wenn man TAB verwendet. raw_input kommt ja wahrscheinlich nicht in Frage, und eine fetch-Key Lösung währe zu umständlich.
Zu clrscr fällt mir leider nichts Plattformübergreifendes ein.
Jörg
yup, dass ist zwar genau das was ich suche, aber "Availability: Unix." : (
Noch ne Idee für M$ Win ?
Ciao,
akI
Noch ne Idee für M$ Win ?
Ciao,
akI
Heya,
here it is...
vielleicht brauchts ja jemand...
Dieses Beispiel soll beim Befehl 'o', die folgenden, möglichen Namen anzeigen...
Kommentare sind erwünscht !
Ciao,
akI
here it is...
Code: Alles auswählen
import msvcrt
a = ""
c = ""
l = ["Herbert","Herberd","Hermes"]
def resChar(c):
global l
if c[0] == 'o' and len(c) > 2:
ct = 0
d = c
c = c[2:]
x = "\n"
#Suche ob die Eingabe in Liste(String) existiert
for e in l:
if e[:len(c)] == c:
x = x + e + "\t"
ct = ct + 1
#Wenn etwas gefunden...
if not x == '\n':
if ct == 1:
msvcrt.putch(" ")
else:
print x
#Alten Ausruck wiederherstellen
for x in d:
msvcrt.putch(x)
while 1:
a = msvcrt.getche()
if ord(a) == 13:
break
elif ord(a) == 32:
c = c + " "
else:
c = c + a
resChar(c)
Dieses Beispiel soll beim Befehl 'o', die folgenden, möglichen Namen anzeigen...
Kommentare sind erwünscht !
Ciao,
akI