Fortgeschrittene Dateiverarbeitung in Python- PDFs, ZIPs und Binärdateien
Fortgeschrittene Dateiverarbeitung in Python: PDFs, ZIPs und Binärdateien
Ein praxisnaher Leitfaden zum Lesen, Erstellen und Verarbeiten anspruchsvoller Dateiarten mit Python
Inhaltsverzeichnis
Kapitel 1: Überblick über Dateitypen und Formate
- Text vs. Binärdaten
- Dateierweiterungen, Magic Numbers und Header
- Python-Tools für die Arbeit mit Dateien
- Sicherheitsaspekte beim Dateizugriff
Kapitel 2: PDFs analysieren und erzeugen
- PDFs lesen mit PyPDF2, pdfplumber
- Inhalte extrahieren: Text, Seiten, Metadaten
- PDFs schreiben mit reportlab, fpdf
- Mini-Projekt: Zusammenfassung mehrerer PDFs in einem Report
Kapitel 3: ZIP-Archive lesen und schreiben
- Verwendung von zipfile
- Dateien hinzufügen, entpacken, analysieren
- Passwortschutz und Kompression
- Mini-Projekt: Backup-Skript mit ZIP-Archivierung
Kapitel 4: Arbeiten mit anderen komprimierten Formaten
- tarfile, gzip, bz2, lzma
- Archivieren und extrahieren über Streams
- Kompatibilität und Speichervergleiche
- Mini-Projekt: Automatisierte Komprimierung von Logdateien
Kapitel 5: Binärdateien lesen und schreiben
- Öffnen im Binärmodus ('rb', 'wb')
- Verwendung von struct zum Interpretieren von Bytes
- Byte-Offset, Padding, Endianness
- Mini-Projekt: Parser für ein benutzerdefiniertes Binärformat
Kapitel 6: Arbeiten mit Bildern und Rohdaten
- Zugriff auf Metadaten mit PIL / Pillow
- Lesen und Modifizieren von Bilddaten
- Mini-Projekt: Wasserzeichen in mehrere Bilder einfügen
Kapitel 7: Dateiformate kombinieren und verschachteln
- PDF mit eingebetteten Bildern
- ZIP mit PDF-Inhalt oder anderen Archivtypen
- Mini-Projekt: Mehrseitiger Bericht mit Daten + Anhang als ZIP-PDF
Kapitel 8: Dateiprüfsummen und Integritätsprüfung
- Hashes mit hashlib: MD5, SHA-256
- Vergleich von Dateien über Checksums
- Signieren von Dateien
- Mini-Projekt: Prüfsummenprüfer für ein Backup-Verzeichnis
Kapitel 9: Speicher- und Performanceoptimierung
- Große Dateien effizient lesen (Chunks, Streams)
- Speichersparendes Parsen von Binärdaten
- Asynchrone Dateiverarbeitung mit aiofiles (Kurzüberblick)
- Mini-Projekt: Streaming-Parser für große Binärdateien
Kapitel 10: Best Practices und Sicherheitsaspekte
- Sicheres Lesen externer Dateien
- Umgang mit beschädigten oder manipulierten Archiven
- Logging, Fehlerbehandlung und Benutzerfeedback
- Mini-Projekt: Sicherer Dateiimport mit Analyse und Logging
Anhang A: Python-Module für Dateiverarbeitung
- PyPDF2, pdfplumber, zipfile, gzip, tarfile, struct, Pillow, hashlib
- Installationshinweise und Links
Anhang B: Beispiel-Dateistrukturen und Signaturen
- Beispiel-Header für ZIP, PDF, PNG, MP3
- Struktur eines benutzerdefinierten Binärformats
Anhang C: Übungsaufgaben mit Lösungen
- PDF-Seiten extrahieren
- ZIP-Archiv mit Metadaten erstellen
- Binärdatei analysieren und umwandeln
- Detaillierte Lösungen mit Kommentaren und Erklärung