also ich bin kurz und knapp ich möchte programmiern lernen und had auch die grundlagen in python schon erlernt ich habe auf tiktok gescrollt nach coolen python projekten bzw ideen rausgesucht und sties auf einen keylogger ich habe mir den code in vscode gepastet bis dahin alles gut ich habe den code ein wenig mit gemini ki verbessern lassen also das es eingaben in einer datei speichert (dieser code ist nur für mich zum lernen da ich werde nichts weiterschicken) ich habe dann auch noch mal gemini gefragt ob dieser code eine verbindung von anderen herstellen kann die ki sagte nein da es spezielle funktionen brauche ich habe diese datei dann in eine .exe datei umgewandelt und sie hat zwar nicht funktioniert aber auch irgendwie schon ich kann das nicht ganz erklären
der code:
import os
from pynput import keyboard
def on_press(key):
try:
# Erfasst alphanumerische Tasten (z. B. a, b, 1, 2)
print(f'Alphanumerische Taste gedrückt: {key.char}')
except AttributeError:
# Erfasst Spezialtasten (z. B. Enter, Shift, Backspace)
if key == keyboard.Key.backspace:
print('Die Löschtaste wurde gedrückt!')
else:
print(f'Spezialtaste gedrückt: {key}')
def on_release(key):
# Wird aufgerufen, wenn eine Taste losgelassen wird
print(f'Taste losgelassen: {key}')
if key == keyboard.Key.esc:
# Stoppt den Listener, wenn die ESC-Taste gedrückt wird
return False
# Startet den Listener
with keyboard.Listener(
on_press=on_press,
on_release=on_release) as listener:
listener.join()
import shutil
import os
import datetime
def backup_file(source_file, backup_dir):
"""
Sichert eine Datei in einem angegebenen Backup-Verzeichnis.
Args:
source_file (str): Der Pfad zur Originaldatei.
backup_dir (str): Der Pfad zum Backup-Verzeichnis.
"""
try:
# Erstelle das Backup-Verzeichnis, falls es nicht existiert
if not os.path.exists(backup_dir):
os.makedirs(backup_dir)
print(f"Backup-Verzeichnis '{backup_dir}' erstellt.")
# Erstelle einen eindeutigen Dateinamen für das Backup
timestamp = datetime.datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
file_name, file_extension = os.path.splitext(os.path.basename(source_file))
backup_file_name = f"{file_name}_backup_{timestamp}{file_extension}"
destination_path = os.path.join(backup_dir, backup_file_name)
# Kopiere die Datei
shutil.copy(source_file, destination_path)
print(f"Datei '{source_file}' erfolgreich gesichert als '{destination_path}'.")
except FileNotFoundError:
print(f"Fehler: Die Datei '{source_file}' wurde nicht gefunden.")
except Exception as e:
print(f"Ein Fehler ist aufgetreten: {e}")
# --- Beispiel-Nutzung ---
source_file_path = "daten.txt"
backup_directory_path = "backups"
# Erstelle eine Dummy-Datei für das Beispiel
with open(source_file_path, "w") as f:
f.write("Dies sind Beispieldaten.\n")
f.write("Zeile 2\n")
# Rufe die Backup-Funktion auf
backup_file(source_file_path, backup_directory_path)