そこで、プログラミングについてもっと学ぶのに役立つ小さなスターター プロジェクトとしてキーロガーを作ろうとしています。キーボード入力を検出するためにpynputを使用していますが、変数に文字を追加し続けたいline
. これから紹介するスクリプトはline += str2
、関数の外に置くと機能しますが、中には機能しません (str
変数は、この正確なことをデバッグするためにそこに置かれました)。
コードは次のとおりです。
import msvcrt, datetime
from pynput.keyboard import Key, Listener
date = str(datetime.date.today())
line = "a"
str1 = "1"
str2 = "2"
#Saves given data to a dated text file.
def saveToFile(data):
file = open("keylog_{}.txt" .format(date), "a+")
file.write(str(data))
file.close()
def on_press(key):
line += str2
print(line)
with Listener(on_press=on_press, on_release=None) as listener:
listener.join()
なぜこれが起こるのかを理解するのを手伝ってくれる人に前もって感謝します.