ksiazki24h.pl
wprowadź własne kryteria wyszukiwania książek: (jak szukać?)
Twój koszyk:   0 zł   zamówienie wysyłkowe >>>
Strona główna > opis książki

AUTOMATYZACJA NUDNYCH ZADAŃ Z PYTHONEM NAUKA PROGRAMOWANIA


SWEIGART A.

wydawnictwo: HELION , rok wydania 2017, wydanie I

cena netto: 90.60 Twoja cena  86,07 zł + 5% vat - dodaj do koszyka

Automatyzacja nudnych zadań z Pythonem.

Nauka programowania


Komputer jest niezwykle wszechstronnym narzędziem, które może posłużyć do błyskawicznego wykonywania przeróżnych czynności. Dotyczy to również zadań, które zwykle zajmują mnóstwo czasu, a przy tym są męczące i nudne. Zamiast przez wiele godzin porównywać czy wprowadzać dane, lepiej dobrze zaprogramować komputer, który wykona takie zadania w ciągu kilku sekund. Aby to osiągnąć, wcale nie trzeba być profesjonalnym programistą!

Jeśli nie masz pojęcia o programowaniu, ale chcesz wykorzystać komputer do automatyzacji prostych, powtarzalnych operacji, trzymasz w ręku właściwą książkę.

Podstawy programowania przedstawiono tu w sposób klarowny i zrozumiały, poszczególne działania wyjaśniono krok po kroku, a propozycje praktycznych projektów pozwalają na gruntowne przyswojenie materiału i poszerzenie wiedzy. Do nauki wykorzystano język Python, ponieważ jest on stosunkowo prosty, popularny, a przy tym wciąż rozwijany. Szybko przekonasz się, ile czasu i wysiłku można zaoszczędzić dzięki automatyzacji zadań za pomocą krótkich i łatwych programów!

W książce znajdziesz między innymi:

  • podstawy programowania w Pythonie

  • opis kontroli przepływu działania programu

  • informacje o pracy na danych tekstowych i plikach

  • wiadomości o pracy z plikami CSV i danymi JSON

  • harmonogramy zadań i opis kontroli czasu uruchamiania programu

  • możliwości kontrolowania klawiatury i myszy za pomocą automatyzacji GUI


    O autorze (21)

    O recenzencie technicznym (21)

    Podziękowania (23)

    Wprowadzenie (25)

    • Do kogo jest skierowana ta książka? (26)
    • Konwencje (27)
    • Czym jest programowanie? (27)
      • Co to jest Python? (28)
      • Programiści nie muszą dobrze znać matematyki (28)
      • Programowanie to aktywność kreatywna (29)
    • O tej książce (30)
    • Pobieranie i instalacja Pythona (31)
    • Uruchomienie środowiska IDLE (33)
      • Powłoka interaktywna (33)
    • Jak otrzymać pomoc? (34)
    • Sprytne zadawanie pytań dotyczących programowania (35)
    • Podsumowanie (36)

    CZĘŚĆ I. PODSTAWY PROGRAMOWANIA W PYTHONIE (37)

    1. Podstawy Pythona (39)

    • Wprowadzanie wyrażeń w powłoce interaktywnej (40)
    • Liczby całkowite, zmiennoprzecinkowe i ciągi tekstowe (43)
    • Konkatenacja i replikacja ciągu tekstowego (43)
    • Przechowywanie wartości w zmiennych (45)
      • Polecenia przypisania (45)
      • Nazwy zmiennych (47)
    • Twój pierwszy program (48)
    • Analiza programu (49)
      • Polecenia (49)
      • Funkcja print() (50)
      • Funkcja input() (50)
      • Wyświetlanie imienia użytkownika (50)
      • Funkcja len() (51)
      • Funkcje str(), int() i float() (52)
    • Podsumowanie (55)
    • Pytania kontrolne (56)

    2. Kontrola przepływu działania programu (59)

    • Wartości boolowskie (60)
    • Operatory porównania (61)
    • Operatory boolowskie (63)
      • Binarne operatory boolowskie (63)
      • Operator not (64)
    • Łączenie operatorów boolowskich i porównania (65)
    • Elementy kontroli przepływu działania programu (65)
      • Warunek (66)
      • Blok kodu (66)
    • Wykonywanie programu (66)
    • Polecenia kontroli przepływu działania programu (67)
      • Polecenie if (67)
      • Polecenie else (68)
      • Polecenie elif (69)
      • Pętla while (74)
      • Polecenie break (78)
      • Polecenie continue (79)
      • Pętla for i funkcja range() (83)
    • Import modułów (87)
      • Polecenie from import (88)
    • Wcześniejsze zakończenie programu za pomocą sys.exit() (88)
    • Podsumowanie (89)
    • Pytania kontrolne (89)

    3. Funkcje (91)

    • Polecenie def wraz z parametrami (93)
    • Wartość zwrotna funkcji i polecenie return (93)
    • Wartość None (95)
    • Argumenty w postaci słów kluczowych i funkcja print() (96)
    • Zasięgi lokalny i globalny (97)
      • Zmienne lokalne nie mogą być używane w zasięgu globalnym (98)
      • W zasięgu lokalnym nie można używać zmiennych zdefiniowanych w innych zasięgach lokalnych (99)
      • Zmienna globalna może być używana w zasięgu lokalnym (99)
      • Zmienna lokalna i globalna o takiej samej nazwie (100)
    • Polecenie global (101)
    • Obsługa wyjątków (103)
    • Krótki program - odgadnij liczbę (105)
    • Podsumowanie (107)
    • Pytania kontrolne (108)
    • Projekt praktyczny (108)
      • Problem Collatza (109)
      • Weryfikacja danych wyjściowych (109)

    4. Listy (111)

    • Typ danych List (111)
      • Pobieranie poszczególnych wartości listy za pomocą indeksu (112)
      • Indeks ujemny (114)
      • Pobieranie podlisty za pomocą wycinka (114)
      • Pobieranie długości listy za pomocą polecenia len() (115)
      • Zmiana wartości na liście za pomocą indeksu (115)
      • Konkatenacja i replikacja listy (116)
      • Usunięcie wartości listy za pomocą polecenia del (116)
    • Praca z listą (116)
      • Użycie pętli for wraz z listą (118)
      • Operatory in i not in (119)
      • Sztuczka pozwalająca na wiele jednoczesnych operacji przypisania (120)
    • Operatory przypisania i zmiany wartości (121)
    • Metody (122)
      • Odszukanie wartości na liście za pomocą metody index() (122)
      • Dodanie wartości do listy za pomocą metod append() i insert() (123)
      • Usuwanie wartości z listy za pomocą metody remove() (124)
      • Sortowanie wartości listy za pomocą metody sort() (124)
    • Przykładowy program - Magic 8 Ball utworzony za pomocą listy (126)
    • Typy przypominające listę - ciąg tekstowy i krotka (127)
      • Modyfikowalne i niemodyfikowalne typy danych (128)
      • Typ danych krotka (130)
      • Konwersja typu za pomocą funkcji list() i tuple() (131)
    • Odwołania (132)
      • Przekazywanie odwołania (134)
      • Funkcje copy() i deepcopy() modułu copy (135)
    • Podsumowanie (136)
    • Pytania kontrolne (136)
    • Projekty praktyczne (137)
      • Kod z przecinkami (137)
      • Obraz na podstawie macierzy (137)

    5. Słowniki i strukturyzacja danych (139)

    • Typ danych Dictionary (139)
      • Słownik kontra lista (140)
      • Metody keys(), values() i items() (142)
      • Sprawdzenie, czy klucz lub wartość istnieją w słowniku (143)
      • Metoda get() (144)
      • Metoda setdefault() (144)
    • Eleganckie wyświetlanie danych (146)
    • Użycie struktur danych do modelowania rzeczywistych rozwiązań (147)
      • Plansza do gry w kółko i krzyżyk (148)
      • Zagnieżdżone słowniki i listy (152)
    • Podsumowanie (154)
    • Pytania kontrolne (154)
    • Projekty praktyczne (154)
      • Inwentarz w grze fantasy (155)
      • Funkcja konwertująca listę na słownik dla inwentarza w grze fantasy (155)

    6. Operacje na ciągach tekstowych (157)

    • Praca z ciągami tekstowymi (157)
      • Literały ciągu tekstowego (158)
      • Indeksowanie i wycinanie ciągów tekstowych (161)
      • Użycie operatorów in i not in podczas pracy z ciągami tekstowymi (162)
    • Użyteczne metody ciągu tekstowego (162)
      • Metody upper(), lower(), isupper() i islower() (162)
      • Metody typu isX() (164)
      • Metody startswith() i endswith() (166)
      • Metody join() i split() (167)
      • Wyrównywanie tekstu za pomocą metod rjust(), ljust() i center() (168)
      • Usunięcie białych znaków za pomocą strip(), rstrip() i lstrip() (170)
      • Kopiowanie i wklejanie ciągów tekstowych za pomocą modułu pyperclip (171)
    • Projekt - menedżer haseł (172)
      • Etap 1. Projekt programu i struktur danych (172)
      • Etap 2. Obsługa argumentów wiersza poleceń (173)
      • Etap 3. Skopiowanie odpowiedniego hasła (173)
    • Projekt - dodanie wypunktowania do kodu znaczników Wiki (175)
      • Etap 1. Kopiowanie i wklejanie ze schowka (175)
      • Etap 2. Rozdzielenie wierszy tekstu i dodanie gwiazdki (176)
      • Etap 3. Złączenie zmodyfikowanych wierszy (177)
    • Podsumowanie (177)
    • Pytania kontrolne (178)
    • Projekt praktyczny (179)
      • Wyświetlenie tabeli (179)

    CZĘŚĆ II. AUTOMATYZACJA ZADAŃ (181)

    7. Dopasowanie wzorca za pomocą wyrażeń regularnych (183)

    • Wyszukiwanie wzorców w tekście bez użycia wyrażeń regularnych (184)
    • Wyszukiwanie wzorców w tekście z użyciem wyrażeń regularnych (186)
      • Tworzenie obiektów wyrażeń regularnych (187)
      • Dopasowanie obiektów wyrażeń regularnych (187)
      • Przegląd dopasowania za pomocą wyrażenia regularnego (189)
    • Jeszcze więcej o dopasowaniach wzorca za pomocą wyrażeń regularnych (189)
      • Grupowanie z użyciem nawiasów (189)
      • Dopasowanie wielu grup za pomocą potoku (190)
      • Opcjonalne dopasowanie za pomocą znaku zapytania (191)
      • Dopasowanie zera wystąpień lub większej liczby wystąpień za pomocą gwiazdki (192)
      • Dopasowanie jednego wystąpienia lub wielu wystąpień za pomocą plusa (193)
      • Dopasowanie określonych powtórzeń za pomocą nawiasu klamrowego (193)
    • Dopasowanie zachłanne i niezachłanne (194)
    • Metoda findall() (195)
    • Klasy znaków (196)
    • Utworzenie własnej klasy znaków (197)
    • Znaki ^ oraz $ (198)
    • Znak wieloznaczny (199)
      • Dopasowanie wszystkiego za pomocą kropki i gwiazdki (199)
      • Dopasowanie znaku nowego wiersza za pomocą kropki (200)
    • Przegląd znaków stosowanych w wyrażeniach regularnych (200)
    • Dopasowanie bez uwzględnienia wielkości znaków (201)
    • Zastępowanie ciągu tekstowego za pomocą metody sub() (202)
    • Zarządzanie skomplikowanymi wyrażeniami regularnymi (203)
    • Połączenie opcji re.IGNORECASE, re.DOTALL i re.VERBOSE (203)
    • Projekt - wyodrębnianie numeru telefonu i adresu e-mail (204)
      • Etap 1. Utworzenie wyrażenia regularnego dopasowującego numer telefonu (205)
      • Etap 2. Utworzenie wyrażenia regularnego dopasowującego adres e-mail (206)
      • Etap 3. Wyszukanie wszystkich dopasowań w tekście umieszczonym w schowku (207)
      • Etap 4. Połączenie dopasowań w celu utworzenia pojedynczego ciągu tekstowego do umieszczenia w schowku (208)
      • Uruchomienie programu (208)
      • Pomysły na podobne programy (209)
    • Podsumowanie (209)
    • Pytania kontrolne (210)
    • Projekty praktyczne (211)
      • Wykrywanie silnego hasła (212)
      • Oparta na wyrażeniu regularnym wersja metody strip() (212)

    8. Odczyt i zapis plików (213)

    • Pliki i ścieżki dostępu do plików (213)
      • Lewy ukośnik w systemie Windows, prawy ukośnik w systemach macOS i Linux (214)
      • Bieżący katalog roboczy (215)
      • Względne kontra bezwzględne ścieżki dostępu (216)
      • Tworzenie nowych katalogów za pomocą funkcji os.makedirs() (216)
    • Moduł os.path (217)
      • Obsługa bezwzględnych i względnych ścieżek dostępu (217)
      • Ustalenie wielkości pliku i zawartości katalogu (220)
      • Sprawdzenie poprawności ścieżki dostępu (221)
    • Proces odczytu i zapisu pliku (222)
      • Otwieranie pliku za pomocą funkcji open() (223)
      • Odczyt zawartości pliku (224)
      • Zapis pliku (225)
    • Zapis zmiennych za pomocą modułu shelve (226)
    • Zapis zmiennych za pomocą funkcji pprint.pformat() (227)
    • Projekt - generowanie losowych plików quizu (229)
      • Etap 1. Umieszczenie danych quizu w słowniku (229)
      • Etap 2. Utworzenie pliku quizu i losowe umieszczenie odpowiedzi na pytania (230)
      • Etap 3. Utworzenie odpowiedzi (231)
      • Etap 4. Zapis treści w plikach quizu i odpowiedzi (232)
    • Projekt - schowek przechowujący wiele elementów (234)
      • Etap 1. Komentarze i konfiguracja pliku binarnego (235)
      • Etap 2. Zapis zawartości schowka wraz ze słowem kluczowym (235)
      • Etap 3. Wyświetlenie słów kluczowych i wczytanie treści powiązanej ze słowem kluczowym (236)
    • Podsumowanie (237)
    • Pytania kontrolne (237)
    • Projekty praktyczne (238)
      • Rozbudowa programu schowka przechowującego wiele elementów (238)
      • Program Mad Libs (238)
      • Wyszukiwanie wyrażenia regularnego (239)

    9. Organizacja plików (241)

    • Moduł shutil (242)
      • Kopiowanie plików i katalogów (242)
      • Przenoszenie oraz zmiana nazwy plików i katalogów (243)
      • Trwałe usunięcie plików i katalogów (245)
      • Bezpieczne usuwanie danych za pomocą modułu send2trash (246)
    • Przejście przez drzewo katalogu (246)
    • Kompresja plików za pomocą modułu zipfile (248)
      • Odczyt pliku w formacie ZIP (248)
      • Wyodrębnianie plików z archiwum ZIP (249)
      • Utworzenie i dodawanie elementów do archiwum ZIP (250)
    • Projekt - zmiana plików z datami w stylu amerykańskim na daty w stylu europejskim (251)
      • Etap 1. Utworzenie wyrażenia regularnego dla daty w stylu amerykańskim (251)
      • Etap 2. Identyfikacja w nazwie pliku fragmentów określających datę (253)
      • Etap 3. Utworzenie nowej nazwy pliku i zmiana nazw plików (254)
      • Pomysły na podobne programy (255)
    • Projekt - utworzenie archiwum ZIP będącego kopią katalogu (255)
      • Etap 1. Ustalenie nazwy pliku archiwum ZIP (256)
      • Etap 2. Utworzenie nowego archiwum ZIP (257)
      • Etap 3. Przejście przez drzewo katalogu i dodanie plików do archiwum ZIP (258)
      • Pomysły na podobne programy (259)
    • Podsumowanie (259)
    • Pytania kontrolne (260)
    • Projekty praktyczne (260)
      • Kopiowanie selektywne (260)
      • Usunięcie niepotrzebnych plików (260)
      • Wypełnienie przerw (260)

    10. Usuwanie błędów (261)

    • Zgłaszanie wyjątku (262)
    • Pobranie stosu wywołań w postaci ciągu tekstowego (264)
    • Asercje (265)
      • Użycie asercji w projekcie symulacji ulicznej sygnalizacji świetlnej (266)
      • Wyłączenie asercji (268)
    • Rejestracja danych (268)
      • Użycie modułu logging (268)
      • Nie przeprowadzaj procesu usuwania błędów za pomocą funkcji print() (270)
      • Poziomy rejestrowania informacji (271)
      • Wyłączenie rejestrowania informacji (272)
      • Rejestrowanie informacji w pliku (273)
    • Debugger środowiska IDLE (273)
      • Go (274)
      • Step (274)
      • Over (274)
      • Out (275)
      • Quit (275)
      • Debugowanie programu sumującego liczby (275)
      • Punkty kontrolne (277)
    • Podsumowanie (279)
    • Pytania kontrolne (280)
    • Projekt praktyczny (281)
      • Debugowanie programu symulującego rzut monetą (281)

    11. Pobieranie danych z internetu (283)

    • Projekt - mapIt.py z użyciem modułu webbrowser (284)
      • Etap 1. Ustalenie adresu URL (285)
      • Etap 2. Obsługa argumentów wiersza poleceń (285)
      • Etap 3. Obsługa zawartości schowka i uruchomienie przeglądarki WWW (286)
      • Pomysły na podobne programy (287)
    • Pobieranie plików z internetu za pomocą modułu requests (287)
      • Pobieranie strony internetowej za pomocą funkcji requests.get() (288)
      • Sprawdzenie pod kątem błędów (289)
    • Zapis pobranych plików na dysku twardym (290)
    • HTML (291)
      • Zasoby pomagające w poznawaniu języka HTML (291)
      • Krótkie wprowadzenie (292)
      • Wyświetlenie kodu źródłowego HTML strony internetowej (293)
      • Wyświetlenie oferowanych przez przeglądarkę WWW narzędzi programistycznych (293)
      • Użycie narzędzi programistycznych do wyszukiwania elementów HTML (296)
    • Przetwarzanie kodu HTML za pomocą modułu Beautiful Soup (297)
      • Utworzenie obiektu BeautifulSoup na podstawie kodu HTML (297)
      • Wyszukiwanie elementu za pomocą metody select() (298)
      • Pobieranie danych z atrybutów elementu (300)
    • Projekt - wyszukiwanie typu "szczęśliwy traf" w Google (301)
      • Etap 1. Pobranie argumentów wiersza poleceń i żądanie strony wyszukiwarki (301)
      • Etap 2. Wyszukanie wszystkich wyników (302)
      • Etap 3. Otworzenie kart przeglądarki WWW dla poszczególnych wyników (303)
      • Pomysły na podobne programy (304)
    • Projekt - pobranie wszystkich komiksów z witryny XKCD (304)
      • Etap 1. Projekt programu (306)
      • Etap 2. Pobranie strony internetowej (307)
      • Etap 3. Odszukanie i pobranie obrazu komiksu (307)
      • Etap 4. Zapis obrazu i odszukanie poprzedniego komiksu (308)
      • Pomysły na podobne programy (310)
    • Kontrolowanie przeglądarki WWW za pomocą modułu selenium (310)
      • Uruchomienie przeglądarki WWW kontrolowanej przez moduł selenium (310)
      • Wyszukanie elementów na stronie (311)
      • Kliknięcie na stronie (314)
      • Wypełnianie i wysyłanie formularzy sieciowych (314)
      • Symulacja naciśnięcia klawiszy specjalnych (315)
      • Klikanie przycisków przeglądarki WWW (316)
      • Więcej informacji na temat modułu selenium (316)
    • Podsumowanie (316)
    • Pytania kontrolne (316)
    • Projekty praktyczne (317)
      • Klient poczty działający w wierszu poleceń (318)
      • Pobieranie obrazów z witryny internetowej (318)
      • 2048 (318)
      • Weryfikacja łącza (318)

    12. Praca z arkuszami kalkulacyjnymi programu Excel (319)

    • Dokumenty Excela (320)
    • Instalacja modułu openpyxl (320)
    • Odczyt dokumentów Excela (321)
      • Otwieranie istniejącego dokumentu Excela za pomocą openpyxl (321)
      • Pobranie arkuszy ze skoroszytu (322)
      • Pobieranie komórek z arkuszy (322)
      • Konwersja między literami kolumn i liczbami (324)
      • Pobieranie wierszy i kolumn z arkuszy (325)
      • Skoroszyty, arkusze i komórki (327)
    • Projekt - odczyt danych z arkusza kalkulacyjnego (327)
      • Etap 1. Odczyt danych z arkusza kalkulacyjnego (328)
      • Etap 2. Wypełnienie struktury danych (329)
      • Etap 3. Zapis wyników do pliku (331)
      • Pomysły na podobne programy (332)
    • Zapis dokumentów Excela (332)
      • Tworzenie i zapisywanie dokumentów Excela (332)
      • Tworzenie i usuwanie arkuszy kalkulacyjnych (333)
      • Zapis wartości w komórkach (334)
    • Projekt - uaktualnienie skoroszytu (335)
      • Etap 1. Przygotowanie struktury danych wraz z uaktualnionymi informacjami (336)
      • Etap 2. Sprawdzenie wszystkich wierszy i skorygowanie nieprawidłowych cen (337)
      • Pomysły na podobne programy (338)
    • Ustawienie stylu czcionki komórek (338)
    • Obiekt Font (339)
    • Formuły (341)
    • Dostosowanie wierszy i kolumn do własnych potrzeb (342)
      • Ustalenie wysokości wiersza i szerokości kolumny (343)
      • Łączenie i dzielenie komórki (343)
      • Zablokowane okienka (344)
    • Wykresy (345)
    • Podsumowanie (348)
    • Pytania kontrolne (348)
    • Projekty praktyczne (349)
      • Program tworzący tabliczkę mnożenia (349)
      • Program wstawiający pusty wiersz (350)
      • Program zmieniający położenie komórek arkusza kalkulacyjnego (350)
      • Przeniesienie zawartości pliku tekstowego do arkusza kalkulacyjnego (351)
      • Przeniesienie zawartości arkusza kalkulacyjnego do plików tekstowych (351)

    13. Praca z dokumentami PDF i Worda (353)

    • Dokumenty w formacie PDF (353)
      • Wyodrębnianie tekstu z dokumentu PDF (354)
      • Deszyfrowanie dokumentu PDF (356)
      • Tworzenie dokumentów PDF (357)
    • Projekt - połączenie wybranych stron z wielu dokumentów PDF (362)
      • Etap 1. Wyszukanie wszystkich plików w formacie PDF (363)
      • Etap 2. Otworzenie poszczególnych dokumentów PDF (364)
      • Etap 3. Dodanie poszczególnych stron (364)
      • Etap 4. Zapis dokumentu wynikowego (365)
      • Pomysły na podobne programy (366)
    • Dokumenty procesora tekstu Microsoft Word (366)
      • Odczyt dokumentów Worda (367)
      • Pobranie pełnego tekstu z pliku w formacie .docx (368)
      • Nadawanie stylu akapitom i obiektom Run (369)
      • Utworzenie dokumentu Worda z niestandardowymi stylami (370)
      • Atrybuty obiektu Run (371)
      • Zapis dokumentów Worda (372)
      • Dodanie nagłówków (374)
      • Dodanie znaku podziału wiersza i strony (375)
      • Dodanie obrazu (376)
    • Podsumowanie (376)
    • Pytania kontrolne (377)
    • Projekty praktyczne (378)
      • PDF Paranoja (378)
      • Własne zaproszenia utworzone w dokumencie Worda (378)
      • Program łamiący hasło dokumentu PDF za pomocą ataku typu brute force (379)

    14. Praca z plikami CSV i danymi JSON (381)

    • Moduł csv (382)
      • Obiekt Reader (383)
      • Użycie pętli for do odczytu danych z obiektu Reader (384)
      • Obiekt Writer (384)
      • Argumenty w postaci słów kluczowych delimiter i lineterminator (386)
    • Projekt - usunięcie nagłówka z pliku CSV (387)
      • Etap 1. Iteracja przez poszczególne pliki CSV (387)
      • Etap 2. Odczyt zawartości pliku CSV (388)
      • Etap 3. Zapis pliku CSV bez pierwszego wiersza (389)
      • Pomysły na podobne programy (390)
    • JSON i API (390)
    • Moduł json (392)
      • Odczyt danych JSON za pomocą funkcji loads() (392)
      • Zapis danych w formacie JSON za pomocą funkcji dumps() (392)
    • Projekt - pobieranie bieżących danych prognozy pogody (393)
      • Etap 1. Pobranie z wiersza poleceń informacji o lokalizacji (393)
      • Etap 2. Pobranie danych w formacie JSON (394)
      • Etap 3. Wczytanie danych w formacie JSON i wyświetlenie prognozy pogody (395)
      • Pomysły na podobne programy (397)
    • Podsumowanie (397)
    • Pytania kontrolne (397)
    • Projekty praktyczne (398)
      • Konwerter danych w formacie Excel do formatu CSV (398)

    15. Czas, harmonogram zadań i uruchamianie programów (401)

    • Moduł time (402)
      • Funkcja time.time() (402)
      • Funkcja time.sleep() (403)
    • Zaokrąglanie liczb (404)
    • Projekt - superstoper (405)
      • Etap 1. Przygotowanie programu do pomiaru czasu (405)
      • Etap 2. Monitorowanie i wyświetlenie czasu okrążenia (406)
      • Pomysły na podobne programy (407)
    • Moduł datetime (408)
      • Typ danych timedelta (410)
      • Pauza aż do chwili osiągnięcia określonej daty (411)
      • Konwersja obiektu datetime na ciąg tekstowy (412)
      • Konwersja ciągu tekstowego na obiekt datetime (413)
    • Przegląd funkcji czasu w Pythonie (414)
    • Wielowątkowość (415)
      • Przekazanie argumentów funkcji docelowej dla nowego wątku (417)
      • Kwestie związane ze współbieżnością (418)
    • Projekt - wielowątkowy program pobierający dane z witryny XKCD (418)
      • Etap 1. Modyfikacja programu w celu użycia funkcji (419)
      • Etap 2. Utworzenie i uruchomienie wątków (420)
      • Etap 3. Zaczekanie na zakończenie działania wszystkich wątków (421)
    • Uruchamianie innych programów z poziomu Pythona (421)
      • Przekazanie funkcji Popen() argumentów wiersza poleceń (424)
      • Harmonogram zadań, launchd i cron (424)
      • Otwieranie witryn internetowych za pomocą Pythona (425)
      • Wykonywanie innych skryptów Pythona (425)
      • Otwieranie plików w ich aplikacjach domyślnych (426)
    • Projekt - prosty program odliczający czas (427)
      • Etap 1. Odliczanie (428)
      • Etap 2. Odtworzenie pliku dźwiękowego (428)
      • Pomysły na podobne programy (429)
    • Podsumowanie (430)
    • Pytania kontrolne (430)
    • Projekty praktyczne (431)
      • Ładniejszy stoper (431)
      • Oparty na harmonogramie program pobierający komiksy (431)

    16. Wysyłanie wiadomości e-mail i tekstowych (433)

    • SMTP (434)
    • Wysyłanie wiadomości e-mail (434)
      • Nawiązanie połączenia z serwerem SMTP (435)
      • Wysłanie wiadomości SMTP typu "Witaj" (436)
      • Włączenie szyfrowania TLS (437)
      • Logowanie w serwerze SMTP (437)
      • Wysyłanie wiadomości e-mail (438)
      • Zamknięcie połączenia z serwerem SMTP (438)
    • IMAP (439)
    • Pobieranie i usuwanie wiadomości e-mail za pomocą protokołu IMAP (439)
      • Nawiązanie połączenia z serwerem IMAP (440)
      • Logowanie w serwerze IMAP (441)
      • Wyszukiwanie wiadomości e-mail (441)
      • Pobieranie wiadomości e-mail i oznaczanie jej jako przeczytanej (445)
      • Pobieranie adresów e-mail z niezmodyfikowanych wiadomości e-mail (447)
      • Pobranie treści z niezmodyfikowanej wiadomości e-mail (448)
      • Usuwanie wiadomości e-mail (449)
      • Zamknięcie połączenia z serwerem IMAP (450)
    • Projekt - wysyłanie wiadomości e-mail z przypomnieniami o składkach (451)
      • Etap 1. Otworzenie pliku Excela (451)
      • Etap 2. Wyszukanie wszystkich członków klubu, którzy zalegają ze składką (453)
      • Etap 3. Wysłanie spersonalizowanego przypomnienia (453)
    • Wysyłanie wiadomości tekstowych za pomocą Twilio (455)
      • Założenie konta w serwisie Twilio (456)
      • Wysyłanie wiadomości tekstowych (456)
    • Projekt - moduł typu "wyślij mi wiadomość SMS" (459)
    • Podsumowanie (460)
    • Pytania kontrolne (461)
    • Projekty praktyczne (461)
      • Program losowo przypisujący uciążliwe zadania (461)
      • Przypomnienie o parasolu (462)
      • Automatyczna rezygnacja z subskrypcji (462)
      • Kontrola komputera za pomocą wiadomości e-mail (462)

    17. Praca z obrazami (465)

    • Podstawy teorii obrazu cyfrowego (465)
      • Kolory i wartości RGBA (466)
      • Współrzędne i krotki pudełek (467)
    • Praca z obrazami za pomocą modułu pillow (468)
      • Praca z typem danych Image (470)
      • Przycinanie obrazu (471)
      • Kopiowanie i wklejanie obrazów w innych obrazach (472)
      • Zmiana wielkości obrazu (474)
      • Rotacja i lustrzane odbicia obrazu (476)
      • Zmiana poszczególnych pikseli (478)
    • Projekt - dodanie logo (480)
      • Etap 1. Otworzenie pliku logo (481)
      • Etap 2. Iteracja przez wszystkie pliki i otworzenie obrazów (481)
      • Etap 3. Zmiana wielkości obrazu (482)
      • Etap 4. Dodanie obrazu logo i zapisanie zmian (483)
      • Pomysły na podobne programy (485)
    • Rysowanie na obrazach (486)
      • Rysowanie kształtów (486)
      • Umieszczanie tekstu na obrazie (488)
    • Podsumowanie (490)
    • Pytania kontrolne (491)
    • Projekty praktyczne (491)
      • Rozbudowa i poprawa projektów omówionych w rozdziale (491)
      • Odszukanie na dysku twardym katalogów zawierających zdjęcia (492)
      • Własne wizytówki (493)

    18. Kontrolowanie klawiatury i myszy za pomocą automatyzacji GUI (495)

    • Instalacja modułu pyautogui (496)
    • Pozostajemy na kursie (496)
      • Zamknięcie wszystkiego przez wylogowanie się (497)
      • Pauzy i funkcja bezpiecznej awarii (497)
    • Kontrola poruszania myszą (498)
      • Poruszanie kursorem myszy (499)
      • Pobranie informacji o położeniu kursora myszy (500)
    • Projekt - gdzie teraz jest kursor myszy? (500)
      • Etap 1. Import modułu (501)
      • Etap 2. Konfiguracja kodu zamykającego program oraz pętli działającej w nieskończoność (501)
      • Etap 3. Pobranie i wyświetlenie bieżących współrzędnych kursora myszy (502)
    • Kontrola działania myszy (503)
      • Kliknięcie myszą (504)
      • Przeciąganie myszą (504)
      • Przewijanie myszą (506)
    • Praca z ekranem (508)
      • Wykonanie zrzutu ekranu (508)
      • Analiza zrzutu ekranu (509)
    • Projekt - rozbudowa programu mouseNow.py (509)
    • Rozpoznawanie obrazu (510)
    • Kontrola klawiatury (512)
      • Przekazanie ciągu tekstowego z klawiatury (512)
      • Nazwy klawiszy (513)
      • Naciskanie i zwalnianie klawiszy (514)
      • Kombinacja klawiszy (515)
    • Przegląd funkcji modułu pyautogui (516)
    • Projekt - automatyczne wypełnianie formularzy (517)
      • Etap 1. Ustalenie kroków do wykonania (518)
      • Etap 2. Przygotowanie współrzędnych (519)
      • Etap 3. Rozpoczęcie wpisywania danych (521)
      • Etap 4. Obsługa rozwijanych list i przycisków opcji (522)
      • Etap 5. Wysłanie formularza i oczekiwanie (523)
    • Podsumowanie (524)
    • Pytania kontrolne (525)
    • Projekty praktyczne (525)
      • Symulowanie zajętości (525)
      • Bot komunikatora internetowego (526)
      • Samouczek dotyczący bota grającego w grę (526)

    DODATKI (527)

    A. Instalacja modułów firm trzecich (529)

    • Narzędzie pip (529)
    • Instalacja modułów firm trzecich (530)

    B. Uruchamianie programów (533)

    • Wiersz shebang (533)
    • Uruchamianie programów Pythona w Windows (534)
    • Uruchamianie programów Pythona w systemach macOS i Linux (535)
    • Uruchamianie programów Pythona z wyłączonymi asercjami (536)

    C. Odpowiedzi na pytania kontrolne (537)

    • Rozdział 1. (538)
    • Rozdział 2. (538)
    • Rozdział 3. (540)
    • Rozdział 4. (541)
    • Rozdział 5. (542)
    • Rozdział 6. (542)
    • Rozdział 7. (543)
    • Rozdział 8. (544)
    • Rozdział 9. (545)
    • Rozdział 10. (545)
    • Rozdział 11. (546)
    • Rozdział 12. (547)
    • Rozdział 13. (548)
    • Rozdział 14. (549)
    • Rozdział 15. (549)
    • Rozdział 16. (550)
    • Rozdział 17. (550)
    • Rozdział 18. (551)

    Skorowidz (553)


560 stron, Format: 17.2x22.9, oprawa miękka

Po otrzymaniu zamówienia poinformujemy,
czy wybrany tytuł polskojęzyczny lub anglojęzyczny jest aktualnie na półce księgarni.

 
Wszelkie prawa zastrzeżone PROPRESS sp. z o.o. 2012-2022