So verwenden Sie click.getChar (), um "Schlüssel eingeben" (Python) zu identifizieren.Python

Python-Programme
Anonymous
 So verwenden Sie click.getChar (), um "Schlüssel eingeben" (Python) zu identifizieren.

Post by Anonymous »

Ich erstelle ein Python -Skript und wollte den Benutzer mit den Pfeiltasten verwenden, um durch die Bildschirme zu navigieren. Wirklich für die Pfeile gearbeitet:
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>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post