Wie man ein Wort in ncurses Bildschirm eingeben?

Ich habe versucht, raw_input() Funktion zuerst zu verwenden, aber finde es in kompatibel mit ncurses.
Dann habe ich versucht window.getch() -Funktion, ich kann window.getch() und zeigen Zeichen auf dem Bildschirm, aber kann nicht erkennen, Eingabe. Wie kann ich ein Wort in ncurses und kann if Anweisung verwenden, um es zu bewerten?

Zum Beispiel möchte ich das in ncurses :

  • Curses-like Bibliothek für Cross-Plattform-Konsole App in Python
  • Wie man das Fluchfenster korrekt erfrischt?
  • Kann ich Strings auf ncurses Bildschirm ohne getch () Funktion anzeigen?
  • Linux: Pipe in Python (ncurses) Skript, Stdin und Termios
  • Vim von der Quelle in Cygwin
  • Bearbeiten von Text mit Python und Curses Textbox Widget?
  •  import ncurses stdscr = curses.initscr() # ???_input = "cool" # this is the missing input method I want to know if ???_input == "cool": stdscr.addstr(1,1,"Super cool!") stdscr.refresh() stdscr.getch() curses.endwin() 

  • Python: Herunterladen und Entpacken einer ZIP-Datei ohne auf Festplatte zu schreiben
  • Entpacken Sie Zip-Dateien in Ordnern und Unterordnern mit Python
  • Entpacken der Verzeichnisstruktur mit Python
  • Transponieren / Entpacken Funktion (invers Zip)?
  • Wie entpackst du sehr große Dateien in Python?
  • Entpacken und der * Betreiber
  • One Solution collect form web for “Wie man ein Wort in ncurses Bildschirm eingeben?”

    Funktion raw_input( ) funktioniert nicht im getch() Methode getch() gibt eine Ganzzahl zurück. Es steht für den ASCII-Code der gedrückten Taste. Das wird nicht funktionieren, wenn du String von prompt scannen willst. Sie können die Funktion getstr :

    window.getstr([y, x])

    Lesen Sie einen String aus dem Benutzer, mit primitiver Zeilenbearbeitungskapazität.

    Benutzereingabe

    Es gibt auch eine Methode, um eine ganze Zeichenfolge getstr() , getstr()

     curses.echo() # Enable echoing of characters # Get a 15-character string, with the cursor on the top line s = stdscr.getstr(0,0, 15) 

    Und ich schrieb raw_input Funktion wie unten:

     def my_raw_input(stdscr, r, c, prompt_string): curses.echo() stdscr.addstr(r, c, prompt_string) stdscr.refresh() input = stdscr.getstr(r + 1, c, 20) return input # ^^^^ reading input at next line 

    Nennen Sie es als choice = my_raw_input(stdscr, 5, 5, "cool or hot?")

    Bearbeiten: Hier ist das Beispiel:

     if __name__ == "__main__": stdscr = curses.initscr() stdscr.clear() choice = my_raw_input(stdscr, 2, 3, "cool or hot?").lower() if choice == "cool": stdscr.addstr(5,3,"Super cool!") elif choice == "hot": stdscr.addstr(5, 3," HOT!") else: stdscr.addstr(5, 3," Invalid input") stdscr.refresh() stdscr.getch() curses.endwin() 

    Ausgabe:

    Bildbeschreibung hier eingeben

    Python ist die beste Programmiersprache der Welt.