https://stackoverflow.com/a/46449300/11903801
>#!/usr/bin/python
import click
printable = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;?@[\\]^_`{|}~'
while True:
click.echo('Continue? [yn] ', nl=False)
c = click.getchar()
click.echo()
if c == 'y':
click.echo('We will go on')
elif c == 'n':
click.echo('Abort!')
break
elif c == '\x1b[D':
click.echo('Left arrow ')
else:
click.echo('Invalid input

click.echo('You pressed: "' + ''.join([ '\\'+hex(ord(i))[1:] if i not in printable else i for i in c ]) +'"' )
< /code>
Dieses Beispiel soll identifizieren, ob es nach linksgerichtetem oder rechts gedrückt wurde, und es druckt auch die "Py-String-Darstellung" einer anderen gedrückten Tastatur. < /p>
sagte, dass ich den Code ändern musste, damit es für mich funktioniert ...
Wenn ich Der Code wurde oben ausgeführt. Es wurde nicht die linken und rechten Pfeile identifiziert.
StattYou pressed "\xe0K"< /code> (für den linken Pfeil) < /p>
und < /p>
You pressed "\xe0M"< /code> (für den rechten Pfeil) < /p>
Was habe ich gemacht? und Es hat funktioniert! < /strong> < /p>
Ok, gut, also wollte ich als nächstes die "Taste eingeben", also habe ich das Skript ausgeführt. Drücken Sie die Eingabetaste , und es druckte an mich: Sie haben "\ xd" < /code> < /p>
Also gedrückt Bedingung mit dieser Zeichenfolge Die für mich gedruckte Konsole. elif c == '\xd':
^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 0-2: truncated \xXX escape
Process finished with exit code 1
< /code>
Also, ich weiß nicht, was das Problem ist, ich habe versucht, das Web zu durchsuchen, fand aber nichts, was es mir erklärt. < /p>
Ich verwende Windows 7. < /p>