Przejdź do treści
Automatyzacja w PythonieModuł 1 · lekcja 1 z 3
Za darmo4 min czytania

Moduł 1 · Podstawy automatyzacji w Pythonie

Co automatyzować i jak uruchomić pierwszy skrypt

Po tej lekcji ocenisz, które zadania w Twojej pracy opłaca się zautomatyzować, przygotujesz środowisko wirtualne i uruchomisz pierwszy skrypt Pythona z plikiem ćwiczeniowym.

Co opłaca się automatyzować

Automatyzacja to zastąpienie powtarzalnej, ręcznej czynności programem, który wykonuje ją tak samo za każdym razem. W tym kursie towarzyszy Ci fikcyjna firma Papeteria Wisła sp. z o.o. z Lublina, hurtownia artykułów biurowych z oddziałami w Lublinie, Rzeszowie i Kielcach. Pani Ania z administracji co poniedziałek pobiera trzy raporty sprzedaży, porządkuje folder z fakturami, przelicza faktury w euro na złote i wysyła zestawienie kierownikowi. Każdy z tych kroków da się opisać jako listę instrukcji, więc każdy nadaje się do skryptu.

Zanim napiszesz kod, oceń zadanie trzema pytaniami:

  1. Częstotliwość: czy robisz to co tydzień lub częściej?
  2. Powtarzalność: czy kroki są zawsze te same, a wyjątki da się opisać regułą?
  3. Koszt błędu: czy pomyłka przy ręcznej pracy kosztuje (zła kwota na fakturze, zgubiony plik)?

Jeśli odpowiedź na dwa pytania brzmi „tak”, masz dobrego kandydata. Policz też zysk prosto: zadanie zajmujące 20 minut tygodniowo to około 17 godzin rocznie (20 minut razy 52 tygodnie). Jeśli napisanie i sprawdzenie skryptu zajmie Ci 6 godzin, zwróci się w pierwszym kwartale. Nie automatyzuj natomiast rzeczy, które wymagają oceny człowieka za każdym razem, na przykład odpowiedzi na reklamację klienta.

Jak wybrać zadanie do automatyzacji

Przykład z kursu: Papeteria Wisła sp. z o.o., Lublin (firma fikcyjna).

Skrypt, interpreter i biblioteki

Skrypt to plik tekstowy z rozszerzeniem .py, który uruchamiasz od początku do końca. Interpreter Pythona czyta ten plik i wykonuje instrukcje po kolei. Moduł to plik z funkcjami, który możesz zaimportować, a pakiet to zbiór modułów. Python ma bogatą bibliotekę standardową: moduły pathlib, shutil, csv, json, smtplib czy logging są dostępne od razu, bez instalowania czegokolwiek. Pakiety zewnętrzne, takie jak openpyxl (Excel), pandas (tabele) czy requests (internet), instalujesz poleceniem pip z repozytorium PyPI.

Aktualne wersje sprawdzisz na python.org: stan na październik 2026 najnowsza jest wersja 3.15.0 wydana 9 października 2026, a wcześniejsze gałęzie 3.13 i 3.14 nadal dostają poprawki. Kod z tego kursu sprawdziliśmy na Pythonie 3.12 i używa funkcji dostępnych od wersji 3.11, więc zadziała na każdej wspieranej wersji od 3.11 wzwyż. Jeśli zaczynasz od zera, zainstaluj najnowszą wersję z python.org, a w Windows zaznacz w instalatorze opcję dodania Pythona do zmiennej PATH.

Środowisko wirtualne: jeden projekt, jeden zestaw bibliotek

Środowisko wirtualne (moduł venv) to osobny folder z własną kopią interpretera i bibliotek dla jednego projektu. Dzięki temu skrypt raportowy Ani nie zepsuje się, gdy w innym projekcie zainstalujesz nowszą wersję pandas. Tworzysz je raz, w folderze projektu:

Terminal
python -m venv .venv # Windows: .venv\Scripts\activate # Linux i macOS: source .venv/bin/activate pip install openpyxl pandas requests pip freeze > requirements.txt

Po aktywacji nazwa środowiska pojawia się w wierszu poleceń. Plik requirements.txt zapisuje dokładne wersje bibliotek, więc na innym komputerze odtworzysz środowisko poleceniem pip install -r requirements.txt. Folderu .venv nie kopiuj między komputerami ani nie wysyłaj mailem: zawsze twórz go od nowa.

Biblioteka standardowa a pakiety z PyPI

Wersje pakietów sprawdzone w PyPI, stan na październik 2026.

Pierwszy skrypt na pliku ćwiczeniowym

Pobierz plik ćwiczeniowy modułu 1 i rozpakuj go. W środku jest zamowienia_2026-09.csv ze 120 zamówieniami z września 2026. Utwórz w tym samym folderze plik pierwszy.py:

Python
from pathlib import Path plik = Path("zamowienia_2026-09.csv") linie = plik.read_text(encoding="utf-8").splitlines() print(f"Plik {plik.name} ma {len(linie) - 1} wierszy danych") print("Nagłówek:", linie[0])

Uruchom go w terminalu poleceniem python pierwszy.py. Skrypt czyta cały plik, dzieli go na linie i odejmuje jedną linię nagłówka. Wynik to 120 wierszy danych. Zwróć uwagę na parametr encoding="utf-8": bez niego Windows może odczytać polskie znaki w kodowaniu systemowym i zamiast „Rzeszów” zobaczysz krzaki. O kodowaniach więcej w module 2.

Dobra praktyka od pierwszego dnia: pracuj na kopii danych, uruchamiaj skrypt z folderu projektu i sprawdzaj wynik ręcznie przy pierwszych uruchomieniach. Skrypt, któremu ufasz, to skrypt, którego wynik choć raz porównałeś z ręcznym liczeniem.

Najważniejsze w 3 punktach

  1. Automatyzuj zadania częste, powtarzalne i takie, w których błąd kosztuje; policz zysk w godzinach rocznie.
  2. Każdy projekt ma własne środowisko wirtualne venv, a wersje bibliotek zapisujesz w requirements.txt.
  3. Przy plikach tekstowych zawsze podawaj kodowanie, a wynik pierwszych uruchomień sprawdzaj ręcznie.

Źródła

Materiały do pobrania

Pliki do ćwiczeń są dostępne w abonamencie.

  • Zamówienia z września i pierwsze skryptyModuł 1: zamowienia_2026-09.csv (120 zamówień, 3 błędne wiersze), licz_zamowienia.py (lekcja 1.2), wczytaj_bezpiecznie.py (lekcja 1.3)4 KBDostępne w abonamencie
  • Folder Pobrane, archiwizacja i CSV z polskiego ExcelaModuł 2: 32 pliki do uporządkowania, porzadkuj.py, archiwizuj.py, sprzedaz_oddzialy_cp1250.csv i konwertuj_csv.py11 KBDostępne w abonamencie
  • Raporty trzech oddziałów, szablon pisma i faktury PDFModuł 3: 3 pliki xlsx, konsoliduj_openpyxl.py, konsoliduj_pandas.py, szablon_przypomnienia.docx, generuj_pisma.py59 KBDostępne w abonamencie
  • Kursy NBP, biała lista VAT i cennik HTMLModuł 4: kursy EUR i USD z api.nbp.pl (IX-X 2026), kursy_nbp.py, biala_lista.py z przykładową odpowiedzią API, scrape_cennik.py6 KBDostępne w abonamencie
  • Wysyłka raportu, skrzynka z fakturami i skaner hasełModuł 5: wyslij_raport.py, 6 wiadomości .eml, pobierz_zalaczniki.py, sprawdz_sekrety.py, .env.przyklad7 KBDostępne w abonamencie
  • cron i schtasks, testy pytest, szkielet projektuModuł 6: przykłady harmonogramu, blokada.py, narzedzia.py z testami i wersja z błędem, pyproject.toml, config.toml5 KBDostępne w abonamencie
  • Projekt końcowy: dane tygodnia, specyfikacja i rozwiązanieModuł 7: dane trzech oddziałów (xlsx, CSV cp1250, CSV UTF-8), kursy NBP, specyfikacja, lista kontrolna, przykładowe rozwiązanie z testami13 KBDostępne w abonamencie

Następna: Skrypt z argumentami: pętle, funkcje, Decimal i argparse

20 lekcji, pliki i certyfikat w abonamencie.

Program kursu

Karta wymagana · anulujesz jednym kliknięciem · Mam już konto