所以我一直在搞乱 pynput 包,并注意到我可以用它创建一个临时的键盘记录器。我想通了,但现在我在将按键导出到 .txt 文件方面遇到其他问题。Python 2.7.15
我基本上想要做的是格式化击键输出以识别何时按下 key = "backspace" 以在按下退格键之前删除导出的字符。
from pynput.keyboard import Listener
def write_to_file(key):
letter = str(key)
# letter = letter.replace("u'","") not important
# letter = letter.replace("'", "") not important
if letter == "Key.backspace":
letter = " backspace "
# delete the previous charater and move on with the logging
with open("log.txt", 'a') as f:
f.write(letter)
with Listener(on_press = write_to_file) as lis:
lis.join()
在键盘记录器运行时,它会将每次击键写入所述 log.txt 文件
例如:www.googlle_backspace__backspace.com
我在访问 google 时显然犯了写两个 l 的错误,我按了两次退格键,所以我在搜索栏中的输入是“www.googl”
现在我想在 log.txt 文件中对其进行格式化,以便它以某种方式识别字符串“退格”并删除“退格”之前的字符。
当前日志.txt
"www.googlle_backspace__backspace_e.com"
预期的 log.txt
"www.google.com"
我知道它一定与正则表达式或“re”有关,但我无法理解它。
我考虑过注册字符串“退格”并发送删除提示以删除 log.txt 中的最后一个字符,但我不知道该怎么做。
就像是:
if letter == "_backspace_":
# delete string "_backspace_" and one character before it.
另一个例子:
日志.txt
"My name is Jeff, I am 22_backspace_3 years old"
预期日志.txt
"My My name is Jeff, I am 23 years old"