Ich habe das letzte Mal dasselbe mit Termios gemacht, aber ich habe es auch mit tty versucht. [Letztes Mal] http://qiita.com/tortuepin/items/9ede6ca603ddc74f91ba
import sys
import termios
import tty
#Holen Sie sich den Standard-Deskriptor für Eingabedateien
fd = sys.stdin.fileno()
#Holen Sie sich die Terminal-Attribute von fd
old = termios.tcgetattr(fd)
try:
#Schalten Sie den Standardeingabemodus um
#Sowohl cbreak als auch raw müssen nicht eingegeben werden, aber raw ist ctrl-c kann nicht gehört werden??
tty.setcbreak(sys.stdin.fileno())
#tty.setraw(sys.stdin.fileno())
ch = sys.stdin.read(1)
finally:
#Stellen Sie die Attribute von fd wieder her
termios.tcsetattr(fd, termios.TCSANOW, old)
print(ch)
Dieser hat weniger Freiheit als beim letzten Mal, aber es ist einfacher.
https://utcc.utoronto.ca/~cks/space/blog/unix/CBreakAndRaw
Recommended Posts