Skip to content

Latest commit

 

History

History
72 lines (53 loc) · 2.72 KB

File metadata and controls

72 lines (53 loc) · 2.72 KB

Moduł 08 – Pliki i strumienie w Pythonie 3

Moduł poświęcony kompleksowej pracy z plikami i strumieniami danych w Pythonie: od prostych operacji tekstowych, przez formaty binarne i szyfrowanie, aż po zaawansowane techniki przetwarzania strumieniowego z generatorami.


Cele dydaktyczne

Po przerobieniu modułu student powinien:

  • czytać i zapisywać pliki tekstowe z uwzględnieniem kodowań (UTF-8, Latin-2),
  • posługiwać się biblioteką pathlib do wygodnej pracy ze ścieżkami,
  • rozumieć format binarny, strukturę struct i operować na bytes/bytearray,
  • implementować proste algorytmy szyfrowania (XOR, Fernet/AES) i hashowania,
  • korzystać z klas StringIO i BytesIO do operacji in-memory,
  • budować potoki przetwarzania strumieni z generatorów i filtrów,
  • efektywnie przetwarzać pliki większe niż dostępna RAM,
  • stosować mmap do mapowania pliku w pamięci.

Struktura każdego tematu

NN-nazwa/
├── README.md          # teoria, mini-lab, pytania, literatura
├── diagrams/          # pliki .puml i .png
├── examples/          # uruchamialny kod Python
└── exercises/         # zadania, rozwiązania, testy pytest

Spis tematów

# Katalog Temat
1 01-text-files Pliki tekstowe – tryby, kodowania, pathlib
2 02-binary-files Pliki binarne – struct, bytes, mmap
3 03-encryption Szyfrowanie plików – XOR, AES/Fernet, SHA-256
4 04-streams-and-io Strumienie io – StringIO, BytesIO, wrappery
5 05-stream-filtering Filtrowanie strumieni – generatory, potoki

Uruchamianie

# Wszystkie testy
python -m pytest src/_08-pliki-strumienie -c src/_08-pliki-strumienie/pytest.ini -v

# Diagramy PNG
python src/_08-pliki-strumienie/generate_diagrams.py

Literatura przekrojowa