Skip to content

Latest commit

 

History

History
189 lines (112 loc) · 4.52 KB

2.md

File metadata and controls

189 lines (112 loc) · 4.52 KB

BLOK 2 — Praca z plikami i danymi / Working with Files and Data


Cel / Goal

Learn to work with files, handle errors, import modules, and connect to external data sources (JSON, CSV, APIs).

Nauczyć się pracować z plikami, obsługiwać błędy, importować moduły i łączyć się z zewnętrznymi źródłami danych (JSON, CSV, API).

Why this matters / Dlaczego to ważne:

Programs need to save and load data — config files, user data, logs, external APIs.

Programy muszą zapisywać i wczytywać dane — pliki konfiguracyjne, dane użytkowników, logi, zewnętrzne API.

File handling and error management are essential for production-ready applications.

Obsługa plików i zarządzanie błędami są kluczowe dla aplikacji gotowych do produkcji.


Rozdziały / Chapters

Reading and writing files with context managers, pathlib for modern file handling.

Czytanie i pisanie plików z context managers, pathlib dla nowoczesnej obsługi plików.

Working with JSON for data exchange and CSV for tabular data.

Praca z JSON do wymiany danych i CSV dla danych tabelarycznych.

Try/except/else/finally, custom exceptions, error handling best practices.

Try/except/else/finally, własne wyjątki, dobre praktyki obsługi błędów.

Organizing code into modules, import patterns, standard library.

Organizowanie kodu w moduły, wzorce importowania, standardowa biblioteka.

HTTP requests with requests library, REST APIs, authentication.

Żądania HTTP z biblioteką requests, REST API, uwierzytelnianie.

Code quality tools: Black, Ruff, mypy for formatting and type checking.

Narzędzia jakości kodu: Black, Ruff, mypy do formatowania i sprawdzania typów.

Choose from multiple free API projects: Dog Browser, Pokemon Explorer, Advice Generator, or Country Info.

Wybierz spośród kilku projektów z darmowymi API: Przeglądarka Psów, Eksplorator Pokemon, Generator Rad lub Info o Krajach.


Przygotowanie projektu / Project Setup

Before starting, set up your Phase 2 project folder.

Zanim zaczniesz, przygotuj folder projektu dla Fazy 2.

Step 1: Create folder and initialize uv / Krok 1: Utwórz folder i zainicjuj uv

mkdir 02_files_and_data
cd 02_files_and_data
uv init

Step 2: Create .gitignore / Krok 2: Utwórz .gitignore

Create a file named .gitignore with the following content:

Utwórz plik o nazwie .gitignore z następującą zawartością:

# Python
__pycache__/
*.py[cod]
.Python
.venv/
venv/
.env
*.log

# Data files
*.csv
*.json
!example.json
!example.csv

# IDE
.idea/
.vscode/

Step 3: Initialize Git / Krok 3: Zainicjuj Git

git init
git add .
git commit -m "Initialize Phase 2 - Files and Data project"

Step 4: Create README / Krok 4: Utwórz README

Create a file README.md:

Utwórz plik README.md:

# Phase 2 — Files and Data

This folder contains exercises for working with files, error handling, and external data.

Ten folder zawiera ćwiczenia do pracy z plikami, obsługą błędów i zewnętrznymi danymi.

## Progress / Postęp

- [ ] 2.1 — File basics
- [ ] 2.2 — JSON and CSV
- [ ] 2.3 — Exception handling
- [ ] 2.4 — Modules and imports
- [ ] 2.5 — Working with APIs
- [ ] 2.6 — Linters and formatters
- [ ] 2.7 — Mini-project

Commit your README:

Commituj README:

git add README.md
git commit -m "Add Phase 2 README"

Podsumowanie / Summary

After this block you can:

Po tym bloku potrafisz:

  • read and write files with context managers (with)

    czytać i zapisywać pliki z context managers (with)

  • work with JSON and CSV for data storage

    pracować z JSON i CSV do przechowywania danych

  • handle exceptions gracefully instead of crashing

    obsługiwać wyjątki elegancko zamiast crashować

  • organize code into reusable modules

    organizować kod w wielokrotnego użytku moduły

  • send HTTP requests to external APIs

    wysyłać żądania HTTP do zewnętrznych API

  • use linters and formatters to maintain code quality

    używać linterów i formaterów do utrzymania jakości kodu

  • combine all skills in a practical project

    łączyć wszystkie umiejętności w praktycznym projekcie