Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在键盘记录程序更新字符串时检查其关键字?_Python_String_Keylogger - Fatal编程技术网

Python 如何在键盘记录程序更新字符串时检查其关键字?

Python 如何在键盘记录程序更新字符串时检查其关键字?,python,string,keylogger,Python,String,Keylogger,所以我有一个非常简单的键盘记录程序,它将按键转换成字符串。我想能够检查的话,因为该字符串是用键更新。例如,我会有一个预设列表,如 matches = 'apples', 'oranges', 'bananas' etc 我当时的想法是这样的 if any(matches in str(keys) print("true") 但这不起作用,我找不到另一个与我的情况有关的问题。 我知道我可以走“如果有”的路线,比如 if "banana" in str(k

所以我有一个非常简单的键盘记录程序,它将按键转换成字符串。我想能够检查的话,因为该字符串是用键更新。例如,我会有一个预设列表,如

matches = 'apples', 'oranges', 'bananas' etc
我当时的想法是这样的

if any(matches in str(keys)
print("true")
但这不起作用,我找不到另一个与我的情况有关的问题。 我知道我可以走“如果有”的路线,比如

if "banana" in str(keys)
print("True")
elif "oranges" in str(keys)
print ("True") 

但这太庞大了,当我有数百个这样的单词时,我遇到了一个递归错误。因此,我希望在用击键更新字符串时运行大量的单词库。

将键盘记录器输出保存为字符串

字符串的长度应始终为匹配的数组中最长的单词的长度,因为一个单词不可能包含更多字符

之后,您可以使用此方法:

from  builtins import any
if any(match in keylogger_string for match in matches):
        print("True")

如果您使用的是python版本2.x,您应该将
内置项
更改为
\uu内置项

,这样可以工作,但如果键入任何字母,它都会打印true,例如,如果我键入apples,则只要我按“A”,它就会打印“true”。我只能让它搜索整个单词吗?只要在字符串长度达到最长单词长度时开始检查它