1

方程式などのシーケンスをリッスンするロガーがありますが、「L_control」や「shift」などのすべてのキー押下を削除する必要があります。ASCII番号を取得してから、chr(event.Ascii)を使用しますが、戻ってきます。 CtrlキーとShiftキーを押しながらスペースを使用します。

現在、これを使用して不要な文字をすべて削除していますが、機能していないようです。改善のアイデアはありますか?

def removeChars(l):
    acceptedChars = ["[", "]", "+", "-", "/", "*", "^", "*", "(", ")"]
    newL = ""
    for x in range(0, len(l)):
        if l[x].isalpha() or l[x] in acceptedChars or l[x].isdigit():
            newL = newL + l[x]
    return newL

編集:

pyHookキーイベントの取得に使用しevent.Ascii、ASCII値の取得に使用chr(event.Ascii)してから、文字の取得に使用しています

4

1 に答える 1

2

このようなものはどうですか?

import string
acceptedChars = set(string.printable)
newL = ''.join([ x for x in l if x in acceptedChars])

編集:

set()たとえば、数字、文字、および選択した記号だけを取得するために、に一致するものを使用できます。

acceptedChars = set(string.digits + "[]()+-/*^=!<>" + string.letters)
newL = ''.join([ x for x in l if x in acceptedChars])
于 2012-08-14T22:00:25.060 に答える