Ich habe ein Skript, das wie folgt aussieht (Ich habe alle erforderlichen Module importiert.):Sense STRG + X, während raw_input>
def _find_getch():
try:
import termios
except ImportError:
# Non-POSIX. Return msvcrt's (Windows') getch.
import msvcrt
return msvcrt.getch
# POSIX system. Create and return a getch that manipulates the tty.
import sys, tty
def _getch():
fd = sys.stdin.fileno()
old_settings = termios.tcgetattr(fd)
try:
tty.setraw(fd)
ch = sys.stdin.read(1)
finally:
termios.tcsetattr(fd, termios.TCSADRAIN, old_settings)
return ch
return _getch
getch = _find_getch()
#keypress for CTRL+X is 88
if len(sys.argv) == 1:
controlPressed = False
file = ''
while not controlPressed:
latest = raw_input("> ")
key = getch
if key == '<function _getch at 0x7f9602558e60>':
controlPressed = True
sys.exit()
ich dieses Skript im Terminal und es erkennt nicht, wenn ich CTRL drücken + X. Wie würde ich fühlen CTRL + X während raw_input
läuft?
Der Einzug scheint falsch zu sein. Bitte beheben Sie, dass Ihr Code die einfache Syntaxprüfung besteht. Kopieren Sie vielleicht das gesamte Skript, fügen Sie es ein, fügen Sie den eingefügten Block ein und drücken Sie Strg-K, um es als Code einzurücken (dies ist eine Funktion der Stack Overflow-Desktopversion; wenn Sie sich auf einem mobilen Gerät befinden, wechseln Sie möglicherweise vorübergehend zu " vollständige Website "anzeigen von dem Link in der Fußzeile auf dieser Seite). – tripleee
@tripleee Als ich den Code postete, war ich nicht auf Handy, ich war auf meinem Laptop. Die Strg-K scheint sehr nützlich zu sein, ich werde es ausprobieren! Ich bin mir nicht sicher, ob ich vor dem zweiten Kommentar alles einrücken soll, all den Code, den ich in einem Gist oder auf SO gefunden habe. Alles achtern, das ist gut. Gibt es ein anderes Modul, mit dem ich Tasten drücken kann? –
Der Einzug ist immer noch falsch; Für ein offensichtliches Beispiel kann das "try" nach dem "def" nicht eingerückt werden. Wir können sagen, dass es falsch ist, aber versuchen zu erraten, wie es sein sollte, ist fast unmöglich, sobald Sie mehr als ein paar Einrückungsniveaus haben. Nochmals: Bitte korrigieren Sie Ihren Code; Es gibt keine Möglichkeit, Ihnen zu helfen, wenn die Teile, über die Ihre Frage * nicht zutrifft, nicht richtig funktionieren. – tripleee