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.
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.
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 initStep 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-projectCommit your README:
Commituj README:
git add README.md
git commit -m "Add Phase 2 README"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