Automatyzacja nudnych zadań z Pythonem. Nauka Gliwice

Komputer jest wszechstronnym narzędziem, które szybko i dokładnie wykona wiele pracochłonnych zadań. Wystarczy przekazać mu instrukcje w zrozumiałym dla niego języku. Takim jak Python, który jest łatwy do nauczenia się, pozwala pisać wyrazisty, zwięzły kod i stwarza imponujące możliwości dzięki …

od 65,40 Najbliżej: 1 km

Liczba ofert: 1

Oferta sklepu

Opis

Komputer jest wszechstronnym narzędziem, które szybko i dokładnie wykona wiele pracochłonnych zadań. Wystarczy przekazać mu instrukcje w zrozumiałym dla niego języku. Takim jak Python, który jest łatwy do nauczenia się, pozwala pisać wyrazisty, zwięzły kod i stwarza imponujące możliwości dzięki niezliczonej liczbie rozszerzeń i bibliotek. Tymczasem wciąż wiele osób wykonuje żmudne i męczące zadania ręcznie: pracując z arkuszem kalkulacyjnym, plikami albo pocztą e-mail. Czas to zmienić - pracę, nad którą ślęczysz kilka dni, komputer wykona dokładniej w ciągu najwyżej kilku sekund! Ta książka jest drugim wydaniem nietypowego podręcznika programowania w Pythonie. Dzięki niej nie zostaniesz mistrzem świata w kodowaniu, za to nauczysz się tworzyć programy, które oszczędzą Ci mnóstwo czasu i wysiłku. Nawet jeśli nigdy nie programowałeś, błyskawicznie opanujesz podstawy i zapoznasz się z obszerną biblioteką Pythona przeznaczoną do automatyzacji takich zadań jak pobieranie danych z witryn internetowych, odczytywanie dokumentów oraz operacje wymagające klikania myszą i wpisywania tekstu. To wydanie zawiera nowy rozdział poświęcony weryfikacji danych wejściowych, a także samouczki dotyczące automatyzacji pracy z arkuszami Google i pocztą Gmail oraz podpowiedzi związane z automatycznym uaktualnianiem plików CVS. Sprawdź, jak zautomatyzować: wyszukiwanie ciągu znaków w pliku lub wielu plikach tworzenie, uaktualnianie, przenoszenie i zmiany nazw plików oraz katalogów wyszukiwanie treści w sieci WWW oraz ich pobieranie podział, łączenie, nakładanie znaku wodnego i szyfrowanie dokumentów PDF wysyłanie powiadomień za pomocą wiadomości e-mail oraz SMS wypełnianie formularzy internetowych Nudne i męczące? Zleć to Pythonowi! Spis treści: Podziękowania 19 Wprowadzenie 21 Do kogo jest skierowana ta książka? 22 Konwencje 23 Czym jest programowanie? 23 Co to jest Python? 24 Programiści nie muszą dobrze znać matematyki 24 Nigdy nie jest za późno na rozpoczęcie nauki programowania 25 Programowanie to aktywność kreatywna 26 O tej książce 26 Pobieranie i instalacja Pythona 29 Pobieranie i instalowanie edytora tekstu Mu 30 Uruchomienie edytora Mu 30 Uruchomienie środowiska IDLE 31 Powłoka interaktywna 31 Instalowanie modułów zewnętrznych 33 Jak otrzymać pomoc? 33 Sprytne zadawanie pytań dotyczących programowania 34 Podsumowanie 35 CZĘŚĆ I. PODSTAWY PROGRAMOWANIA W PYTHONIE 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 46 Twój pierwszy program 48 Analiza programu 49 Komentarze 49 Funkcja print() 50 Funkcja input() 50 Wyświetlanie imienia użytkownika 51 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 64 Elementy kontroli przepływu działania programu 65 Warunek 65 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 Krótki program - odgadnij liczbę 89 Krótki program - kamień, papier, nożyce 91 Podsumowanie 95 Pytania kontrolne 95 3. Funkcje 97 Polecenie def wraz z parametrami 99 Definiowanie, wywoływanie, przekazywanie, argument i parametr 99 Wartość zwrotna funkcji i polecenie return 100 Wartość None 102 Argumenty w postaci słów kluczowych i funkcja print() 102 Stos wywołań 104 Zasięgi lokalny i globalny 106 Zmienne lokalne nie mogą być używane w zasięgu globalnym 107 W zasięgu lokalnym nie można używać zmiennych zdefiniowanych w innych zasięgach lokalnych 108 Zmienna globalna może być używana w zasięgu lokalnym 109 Zmienna lokalna i globalna o takiej samej nazwie 109 Polecenie global 110 Obsługa wyjątków 113 Krótki program - zigzag 115 Podsumowanie 117 Pytania kontrolne 117 Projekt praktyczny 118 Problem Collatza 118 Weryfikacja danych wyjściowych 119 4. Listy 121 Typ danych List 121 Pobieranie poszczególnych wartości listy za pomocą indeksu 122 Indeks ujemny 124 Pobieranie podlisty za pomocą wycinka 124 Pobieranie długości listy za pomocą polecenia len() 125 Zmiana wartości na liście za pomocą indeksu 125 Konkatenacja i replikacja listy 126 Usunięcie wartości listy za pomocą polecenia del 126 Praca z listą 126 Użycie pętli for wraz z listą 128 Operatory in i not in 129 Sztuczka pozwalająca na wiele jednoczesnych operacji przypisania 130 Używanie funkcji enumerate() z listą 131 Używanie funkcji random.choice() i random.shuffle() z listą 131 Operatory przypisania i zmiany wartości 132 Metody 133 Odszukanie wartości na liście za pomocą metody index() 133 Dodanie wartości do listy za pomocą metod append() i insert() 134 Usuwanie wartości z listy za pomocą metody remove() 135 Sortowanie wartości listy za pomocą metody sort() 136 Odwrócenie kolejności wartości listy za pomocą metody reverse() 137 Przykładowy program - Magic 8 Ball utworzony za pomocą listy 137 Typy danych w postaci sekwencji 139 Modyfikowalne i niemodyfikowalne typy danych 139 Typ danych krotka 142 Konwersja typu za pomocą funkcji list() i tuple() 143 Odwołania 143 Identyfikator i funkcja id() 145 Przekazywanie odwołania 147 Funkcje copy() i deepcopy() modułu copy 147 Krótki program - gra w życie 148 Podsumowanie 153 Pytania kontrolne 154 Projekty praktyczne 154 Kod z przecinkami 155 Rzut monetą 155 Obraz na podstawie macierzy 156 5. Słowniki i strukturyzacja danych 157 Typ danych Dictionary 157 Słownik kontra lista 158 Metody keys(), values() i items() 160 Sprawdzenie, czy klucz lub wartość istnieją w słowniku 162 Metoda get() 162 Metoda setdefault() 163 Eleganckie wyświetlanie danych 164 Użycie struktur danych do modelowania rzeczywistych rozwiązań 165 Plansza do gry w kółko i krzyżyk 166 Zagnieżdżone słowniki i listy 171 Podsumowanie 173 Pytania kontrolne 173 Projekty praktyczne 173 Weryfikacja słownika modelującego grę w szachy 174 Inwentarz w grze fantasy 174 Funkcja konwertująca listę na słownik dla inwentarza w grze fantasy 175 6. Operacje na ciągach tekstowych 177 Praca z ciągami tekstowymi 177 Literały ciągu tekstowego 178 Indeksowanie i wycinanie ciągów tekstowych 181 Użycie operatorów in i not in podczas pracy z ciągami tekstowymi 182 Umieszczenie ciągu tekstowego w innym 182 Użyteczne metody ciągu tekstowego 183 Metody upper(), lower(), isupper() i islower() 183 Metody typu isX() 185 Metody startswith() i endswith() 187 Metody join() i split() 188 Podział tekstu za pomocą metody partition() 189 Wyrównywanie tekstu za pomocą metod rjust(), ljust() i center() 190 Usunięcie białych znaków za pomocą strip(), rstrip() i lstrip() 192 Wartości liczbowe znaków pobrane za pomocą funkcji ord() i chr() 193 Kopiowanie i wklejanie ciągów tekstowych za pomocą modułu pyperclip 194 Projekt - schowek dla wielu ciągów tekstowych 195 Etap 1. Projekt programu i struktur danych 195 Etap 2. Obsługa argumentów wiersza poleceń 196 Etap 3. Skopiowanie odpowiedniej wiadomości 196 Projekt - dodanie wypunktowania do kodu znaczników Wiki 197 Etap 1. Kopiowanie i wklejanie ze schowka 198 Etap 2. Rozdzielenie wierszy tekstu i dodanie gwiazdki 199 Etap 3. Złączenie zmodyfikowanych wierszy 200 Krótki program - świńska łacina 200 Podsumowanie 204 Pytania kontrolne 205 Projekt praktyczny 206 Wyświetlenie tabeli 206 Symulator Zombie Dice 206 CZĘŚĆ II. AUTOMATYZACJA ZADAŃ 7. Dopasowanie wzorca za pomocą wyrażeń regularnych 213 Wyszukiwanie wzorców w tekście bez użycia wyrażeń regularnych 214 Wyszukiwanie wzorców w tekście z użyciem wyrażeń regularnych 216 Tworzenie obiektów wyrażeń regularnych 217 Dopasowanie obiektów wyrażeń regularnych 218 Przegląd dopasowania za pomocą wyrażenia regularnego 218 Jeszcze więcej o dopasowaniach wzorca za pomocą wyrażeń regularnych 219 Grupowanie z użyciem nawiasów 219 Dopasowanie wielu grup za pomocą potoku 221 Opcjonalne dopasowanie za pomocą znaku zapytania 222 Dopasowanie zera wystąpień lub większej liczby wystąpień za pomocą gwiazdki 222 Dopasowanie jednego wystąpienia lub wielu wystąpień za pomocą plusa 223 Dopasowanie określonych powtórzeń za pomocą nawiasu klamrowego 224 Dopasowanie zachłanne i niezachłanne 225 Metoda findall() 225 Klasy znaków 226 Utworzenie własnej klasy znaków 227 Znaki ^ oraz $ 228 Znak wieloznaczny 229 Dopasowanie wszystkiego za pomocą kropki i gwiazdki 229 Dopasowanie znaku nowego wiersza za pomocą kropki 230 Przegląd znaków stosowanych w wyrażeniach regularnych 231 Dopasowanie bez uwzględnienia wielkości znaków 232 Zastępowanie ciągu tekstowego za pomocą metody sub() 232 Zarządzanie skomplikowanymi wyrażeniami regularnymi 233 Połączenie opcji re.IGNORECASE, re.DOTALL i re.VERBOSE 234 Projekt - wyodrębnianie numeru telefonu i adresu e-mail 235 Etap 1. Utworzenie wyrażenia regularnego dopasowującego numer telefonu 236 Etap 2. Utworzenie wyrażenia regularnego dopasowującego adres e-mail 237 Etap 3. Wyszukanie wszystkich dopasowań w tekście umieszczonym w schowku 237 Etap 4. Połączenie dopasowań w celu utworzenia pojedynczego ciągu tekstowego do umieszczenia w schowku 238 Uruchomienie programu 239 Pomysły na podobne programy 239 Podsumowanie 240 Pytania kontrolne 240 Projekty praktyczne 242 Wykrywanie daty 242 Wykrywanie silnego hasła 242 Oparta na wyrażeniu regularnym wersja metody strip() 243 8. Weryfikacja danych wejściowych 245 Moduł PyInputPlus 246 Argumenty w postaci słów kluczowych min, max, greaterThan i lessThan 248 Argument w postaci słowa kluczowego blank 249 Argumenty w postaci słów kluczowych limit, timeout i default 250 Argumenty w postaci słów kluczowych allowRegexes i blockRegexes 251 Przekazanie do inputCustom() niestandardowej funkcji weryfikacji danych wejściowych 252 Projekt - zajęcie kogoś godzinami 253 Projekt - quiz z tabliczki mnożenia 255 Podsumowanie 257 Pytania kontrolne 258 Projekty praktyczne 258 Program przygotowujący kanapki 259 Własna wersja quizu z zakresu tabliczki mnożenia 259 9. Odczyt i zapis plików 261 Pliki i ścieżki dostępu do plików 261 Lewy ukośnik w systemie Windows, prawy ukośnik w systemach macOS i Linux 262 Używanie operatora / do złączania ścieżek dostępu 264 Bieżący katalog roboczy 266 Katalog domowy 267 Względne kontra bezwzględne ścieżki dostępu 267 Tworzenie nowych katalogów za pomocą funkcji os.makedirs() 267 Obsługa bezwzględnych i względnych ścieżek dostępu 268 Pobieranie fragmentów ścieżki dostępu do pliku 270 Ustalenie wielkości pliku i zawartości katalogu 273 Modyfikowanie listy plików za pomocą wzorców glob 274 Sprawdzenie poprawności ścieżki dostępu 276 Proces odczytu i zapisu pliku 277 Otwieranie pliku za pomocą funkcji open() 278 Odczyt zawartości pliku 279 Zapis pliku 280 Zapis zmiennych za pomocą modułu shelve 281 Zapis zmiennych za pomocą funkcji pprint.pformat() 283 Projekt - generowanie losowych plików quizu 284 Etap 1. Umieszczenie danych quizu w słowniku 285 Etap 2. Utworzenie pliku quizu i losowe umieszczenie odpowiedzi na pytania 286 Etap 3. Utworzenie odpowiedzi 287 Etap 4. Zapis treści w plikach quizu i odpowiedzi 288 Projekt - schowek przechowujący wiele elementów 289 Etap 1. Komentarze i konfiguracja pliku binarnego 290 Etap 2. Zapis zawartości schowka wraz ze słowem kluczowym 291 Etap 3. Wyświetlenie słów kluczowych i wczytanie treści powiązanej ze słowem kluczowym 291 Podsumowanie 292 Pytania kontrolne 293 Projekty praktyczne 293 Rozbudowa programu schowka przechowującego wiele elementów 294 Program Mad Libs 294 Wyszukiwanie wyrażenia regularnego 294 10. Organizacja plików 295 Moduł shutil 296 Kopiowanie plików i katalogów 296 Przenoszenie oraz zmiana nazwy plików i katalogów 297 Trwałe usunięcie plików i katalogów 298 Bezpieczne usuwanie danych za pomocą modułu send2trash 299 Przejście przez drzewo katalogu 300 Kompresja plików za pomocą modułu zipfile 302 Odczyt pliku w formacie ZIP 302 Wyodrębnianie plików z archiwum ZIP 303 Utworzenie i dodawanie elementów do archiwum ZIP 304 Projekt - zmiana plików z datami w stylu amerykańskim na daty w stylu europejskim 304 Etap 1. Utworzenie wyrażenia regularnego dla daty w stylu amerykańskim 305 Etap 2. Identyfikacja w nazwie pliku fragmentów określających datę 307 Etap 3. Utworzenie nowej nazwy pliku i zmiana nazw plików 308 Pomysły na podobne programy 309 Projekt - utworzenie archiwum ZIP będącego kopią katalogu 309 Etap 1. Ustalenie nazwy pliku archiwum ZIP 309 Etap 2. Utworzenie nowego archiwum ZIP 310 Etap 3. Przejście przez drzewo katalogu i dodanie plików do archiwum ZIP 311 Pomysły na podobne programy 312 Podsumowanie 312 Pytania kontrolne 313 Projekty praktyczne 313 Kopiowanie selektywne 314 Usunięcie niepotrzebnych plików 314 Wypełnienie przerw 314 11. Usuwanie błędów 315 Zgłaszanie wyjątku 316 Pobranie stosu wywołań w postaci ciągu tekstowego 318 Asercje 319 Użycie asercji w projekcie symulacji ulicznej sygnalizacji świetlnej 321 Rejestracja danych 322 Użycie modułu logging 323 Nie przeprowadzaj procesu usuwania błędów za pomocą funkcji print() 325 Poziomy rejestrowania informacji 325 Wyłączenie rejestrowania informacji 326 Rejestrowanie informacji w pliku 327 Debugger edytora Mu 327 Kontynuuj 328 Krok do wewnątrz 329 Przekrocz 329 Krok na zewnątrz 329 Zatrzymaj 329 Debugowanie programu sumującego liczby 329 Punkty kontrolne 331 Podsumowanie 333 Pytania kontrolne 333 Projekt praktyczny 334 Debugowanie programu symulującego rzut monetą 334 12. Pobieranie danych z internetu 337 Projekt - mapIt.py z użyciem modułu webbrowser 338 Etap 1. Ustalenie adresu URL 339 Etap 2. Obsługa argumentów wiersza poleceń 339 Etap 3. Obsługa zawartości schowka i uruchomienie przeglądarki WWW 340 Pomysły na podobne programy 341 Pobieranie plików z internetu za pomocą modułu requests 341 Pobieranie strony internetowej za pomocą funkcji requests.get() 342 Sprawdzenie pod kątem błędów 343 Zapis pobranych plików na dysku twardym 344 HTML 345 Zasoby pomagające w poznawaniu języka HTML 346 Krótkie wprowadzenie 346 Wyświetlenie kodu źródłowego HTML strony internetowej 347 Wyświetlenie oferowanych przez przeglądarkę WWW narzędzi programistycznych 348 Użycie narzędzi programistycznych do wyszukiwania elementów HTML 350 Przetwarzanie kodu HTML za pomocą modułu bs4 352 Utworzenie obiektu BeautifulSoup na podstawie kodu HTML 352 Wyszukiwanie elementu za pomocą metody select() 353 Pobieranie danych z atrybutów elementu 355 Projekt - wyświetlenie wyników wyszukiwania 356 Etap 1. Pobranie argumentów wiersza poleceń i żądanie strony wyszukiwarki 357 Etap 2. Wyszukanie wszystkich wyników 357 Etap 3. Otworzenie kart przeglądarki WWW dla poszczególnych wyników 358 Pomysły na podobne programy 359 Projekt - pobranie wszystkich komiksów z witryny XKCD 360 Etap 1. Projekt programu 361 Etap 2. Pobranie strony internetowej 362 Etap 3. Odszukanie i pobranie obrazu komiksu 363 Etap 4. Zapis obrazu i odszukanie poprzedniego komiksu 363 Pomysły na podobne programy 365 Kontrolowanie przeglądarki WWW za pomocą modułu selenium 365 Uruchomienie przeglądarki WWW kontrolowanej przez moduł selenium 366 Wyszukanie elementów na stronie 368 Kliknięcie na stronie 370 Wypełnianie i wysyłanie formularzy sieciowych 370 Symulacja naciśnięcia klawiszy specjalnych 371 Klikanie przycisków przeglądarki WWW 372 Więcej informacji na temat modułu selenium 372 Podsumowanie 372 Pytania kontrolne 373 Projekty praktyczne 374 Klient poczty działający w wierszu poleceń 374 Pobieranie obrazów z witryny internetowej 374 2048 374 Weryfikacja łącza 375 13. Praca z arkuszami kalkulacyjnymi programu Excel 377 Dokumenty Excela 378 Instalacja modułu openpyxl 378 Odczyt dokumentów Excela 379 Otwieranie istniejącego dokumentu Excela za pomocą openpyxl 379 Pobranie arkuszy ze skoroszytu 380 Pobieranie komórek z arkuszy 380 Konwersja między literami kolumn i liczbami 382 Pobieranie wierszy i kolumn z arkuszy 383 Skoroszyty, arkusze i komórki 385 Projekt - odczyt danych z arkusza kalkulacyjnego 385 Etap 1. Odczyt danych z arkusza kalkulacyjnego 386 Etap 2. Wypełnienie struktury danych 387 Etap 3. Zapis wyników do pliku 389 Pomysły na podobne programy 390 Zapis dokumentów Excela 390 Tworzenie i zapisywanie dokumentów Excela 391 Tworzenie i usuwanie arkuszy kalkulacyjnych 391 Zapis wartości w komórkach 392 Projekt - uaktualnienie skoroszytu 393 Etap 1. Przygotowanie struktury danych wraz z uaktualnionymi informacjami 394 Etap 2. Sprawdzenie wszystkich wierszy i skorygowanie nieprawidłowych cen 395 Pomysły na podobne programy 396 Ustawienie stylu czcionki komórek 396 Obiekt Font 397 Formuły 398 Dostosowanie wierszy i kolumn do własnych potrzeb 400 Ustalenie wysokości wiersza i szerokości kolumny 400 Łączenie i dzielenie komórki 401 Zablokowane okienka 402 Wykresy 403 Podsumowanie 404 Pytania kontrolne 405 Projekty praktyczne 406 Program tworzący tabliczkę mnożenia 406 Program wstawiający pusty wiersz 407 Program zmieniający położenie komórek arkusza kalkulacyjnego 407 Przeniesienie zawartości pliku tekstowego do arkusza kalkulacyjnego 408 Przeniesienie zawartości arkusza kalkulacyjnego do plików tekstowych 409 14. Praca z Arkuszami Google 411 Instalacja i konfiguracja EZSheets 411 Pobranie danych uwierzytelniających i plików tokenów 412 Unieważnienie pliku danych uwierzytelniających 414 Obiekt skoroszytu 415 Tworzenie, przekazywanie i wyświetlanie skoroszytów 415 Atrybuty skoroszytu 417 Pobieranie i przekazywanie skoroszytów 418 Usuwanie skoroszytu 419 Obiekt arkusza 419 Odczytywanie i zapisywanie danych 420 Tworzenie i usuwanie arkuszy 425 Kopiowanie arkusza 426 Praca z ograniczeniami nakładanymi przez Arkusze Google 427 Podsumowanie 428 Pytania kontrolne 428 Projekty praktyczne 429 Pobieranie danych Formularzy Google 429 Konwertowanie skoroszytów na inne formaty 429 Wyszukiwanie błędów w skoroszytach 429 15. Praca z dokumentami PDF i Worda 431 Dokumenty w formacie PDF 431 Wyodrębnianie tekstu z dokumentu PDF 432 Deszyfrowanie dokumentu PDF 434 Tworzenie dokumentów PDF 435 Projekt - połączenie wybranych stron z wielu dokumentów PDF 440 Etap 1. Wyszukanie wszystkich plików w formacie PDF 441 Etap 2. Otworzenie poszczególnych dokumentów PDF 442 Etap 3. Dodanie poszczególnych stron 442 Etap 4. Zapis dokumentu wynikowego 443 Pomysły na podobne programy 444 Dokumenty procesora tekstu Microsoft Word 444 Odczyt dokumentów Worda 445 Pobranie pełnego tekstu z pliku w formacie .docx 446 Nadawanie stylu akapitom i obiektom Run 447 Utworzenie dokumentu Worda z niestandardowymi stylami 449 Atrybuty obiektu Run 449 Zapis dokumentów Worda 451 Dodanie nagłówków 453 Dodanie znaku podziału wiersza i strony 454 Dodanie obrazu 454 Tworzenie dokumentu PDF na podstawie dokumentu Worda 455 Podsumowanie 455 Pytania kontrolne 456 Projekty praktyczne 457 PDF Paranoja 457 Własne zaproszenia utworzone w dokumencie Worda 457 Program łamiący hasło dokumentu PDF za pomocą ataku typu brute force 458 16. Praca z plikami CSV i danymi JSON 461 Moduł csv 462 Obiekt reader 463 Użycie pętli for do odczytu danych z obiektu reader 464 Obiekt writer 464 Argumenty w postaci słów kluczowych delimiter i lineterminator 466 Obiekty CSV DictReader i DictWriter 467 Projekt - usunięcie nagłówka z pliku CSV 469 Etap 1. Iteracja przez poszczególne pliki CSV 470 Etap 2. Odczyt zawartości pliku CSV 470 Etap 3. Zapis pliku CSV bez pierwszego wiersza 471 Pomysły na podobne programy 472 JSON i API 473 Moduł json 474 Odczyt danych JSON za pomocą funkcji loads() 474 Zapis danych w formacie JSON za pomocą funkcji dumps() 475 Projekt - pobieranie bieżących danych prognozy pogody 475 Etap 1. Pobranie z wiersza poleceń informacji o lokalizacji 476 Etap 2. Pobranie danych w formacie JSON 477 Etap 3. Wczytanie danych w formacie JSON i wyświetlenie prognozy pogody 478 Pomysły na podobne programy 480 Podsumowanie 480 Pytania kontrolne 481 Projekty praktyczne 481 Konwerter danych w formacie Excel do formatu CSV 481 17. Czas, harmonogram zadań i uruchamianie programów 483 Moduł time 483 Funkcja time.time() 484 Funkcja time.sleep() 485 Zaokrąglanie liczb 486 Projekt - superstoper 486 Etap 1. Przygotowanie programu do pomiaru czasu 487 Etap 2. Monitorowanie i wyświetlenie czasu okrążenia 488 Pomysły na podobne programy 489 Moduł datetime 490 Typ danych timedelta 491 Pauza aż do chwili osiągnięcia określonej daty 493 Konwersja obiektu datetime na ciąg tekstowy 493 Konwersja ciągu tekstowego na obiekt datetime 495 Przegląd funkcji czasu w Pythonie 495 Wielowątkowość 496 Przekazanie argumentów funkcji docelowej dla nowego wątku 498 Kwestie związane ze współbieżnością 499 Projekt - wielowątkowy program pobierający dane z witryny XKCD 500 Etap 1. Modyfikacja programu w celu użycia funkcji 500 Etap 2. Utworzenie i uruchomienie wątków 502 Etap 3. Zaczekanie na zakończenie działania wszystkich wątków 502 Uruchamianie innych programów z poziomu Pythona 503 Przekazanie funkcji Popen() argumentów wiersza poleceń 506 Harmonogram zadań, launchd i cron 506 Otwieranie witryn internetowych za pomocą Pythona 507 Wykonywanie innych skryptów Pythona 507 Otwieranie plików w ich aplikacjach domyślnych 508 Projekt - prosty program odliczający czas 509 Etap 1. Odliczanie 509 Etap 2. Odtworzenie pliku dźwiękowego 510 Pomysły na podobne programy 510 Podsumowanie 511 Pytania kontrolne 512 Projekty praktyczne 512 Ładniejszy stoper 512 Oparty na harmonogramie program pobierający komiksy 513 18. Wysyłanie wiadomości e-mail i tekstowych 515 Wysyłanie i odbieranie poczty za pomocą API Gmail 516 Włączenie API Gmail 516 Wysyłanie wiadomości za pomocą konta Gmail 517 Odczytywanie wiadomości za pomocą konta Gmail 518 Wyszukiwanie wiadomości w koncie poczty Gmail 520 Pobieranie załączników z konta Gmail 521 SMTP 521 Wysyłanie wiadomości e-mail 522 Nawiązanie połączenia z serwerem SMTP 522 Wysłanie wiadomości SMTP typu "Witaj" 524 Włączenie szyfrowania TLS 524 Logowanie w serwerze SMTP 525 Wysyłanie wiadomości e-mail 525 Zamknięcie połączenia z serwerem SMTP 526 IMAP 526 Pobieranie i usuwanie wiadomości e-mail za pomocą protokołu IMAP 527 Nawiązanie połączenia z serwerem IMAP 527 Logowanie w serwerze IMAP 528 Wyszukiwanie wiadomości e-mail 529 Pobieranie wiadomości e-mail i oznaczanie jej jako przeczytanej 533 Pobieranie adresów e-mail z niezmodyfikowanych wiadomości e-mail 534 Pobranie treści z niezmodyfikowanej wiadomości e-mail 535 Usuwanie wiadomości e-mail 536 Zamknięcie połączenia z serwerem IMAP 536 Projekt - wysyłanie wiadomości e-mail z przypomnieniami o składkach 537 Etap 1. Otworzenie pliku Excela 538 Etap 2. Wyszukanie wszystkich członków klubu, którzy zalegają ze składką 539 Etap 3. Wysłanie spersonalizowanego przypomnienia 540 Wysyłanie wiadomości tekstowych za pomocą bramek SMS 541 Wysyłanie wiadomości tekstowych za pomocą Twilio 543 Założenie konta w serwisie Twilio 544 Wysyłanie wiadomości tekstowych 544 Projekt - moduł typu "wyślij mi wiadomość SMS" 546 Podsumowanie 548 Pytania kontrolne 548 Projekty praktyczne 549 Program losowo przypisujący uciążliwe zadania 549 Przypomnienie o parasolu 550 Automatyczna rezygnacja z subskrypcji 550 Kontrola komputera za pomocą wiadomości e-mail 550 19. Praca z obrazami 553 Podstawy teorii obrazu cyfrowego 553 Kolory i wartości RGBA 554 Współrzędne i krotki pudełek 555 Praca z obrazami za pomocą modułu pillow 556 Praca z typem danych Image 558 Przycinanie obrazu 559 Kopiowanie i wklejanie obrazów w innych obrazach 560 Zmiana wielkości obrazu 563 Rotacja i lustrzane odbicia obrazu 564 Zmiana poszczególnych pikseli 566 Projekt - dodanie logo 568 Etap 1. Otworzenie pliku logo 569 Etap 2. Iteracja przez wszystkie pliki i otworzenie obrazów 570 Etap 3. Zmiana wielkości obrazu 571 Etap 4. Dodanie obrazu logo i zapisanie zmian 572 Pomysły na podobne programy 573 Rysowanie na obrazach 574 Rysowanie kształtów 574 Umieszczanie tekstu na obrazie 576 Podsumowanie 578 Pytania kontrolne 579 Projekty praktyczne 579 Rozbudowa i poprawa projektów omówionych w rozdziale 580 Odszukanie na dysku twardym katalogów zawierających zdjęcia 580 Własne wizytówki 581 20. Kontrolowanie klawiatury i myszy za pomocą automatyzacji GUI 583 Instalacja modułu pyautogui 584 Konfiguracja ustawień dostępności w macOS 585 Pozostajemy na kursie 585 Pauzy i funkcja bezpiecznej awarii 585 Zamknięcie wszystkiego przez wylogowanie się 586 Kontrola poruszania myszą 586 Poruszanie kursorem myszy 587 Pobranie informacji o położeniu kursora myszy 588 Kontrola działania myszy 589 Kliknięcie myszą 589 Przeciąganie myszą 590 Przewijanie myszą 592 Planowanie ruchu myszą 592 Praca z ekranem 594 Wykonanie zrzutu ekranu 594 Analiza zrzutu ekranu 594 Rozpoznawanie obrazu 596 Pobieranie informacji o oknie 598 Pobranie aktywnego okna 598 Inne sposoby na pobieranie okna 599 Przeprowadzanie operacji na oknach 600 Kontrola klawiatury 602 Przekazanie ciągu tekstowego z klawiatury 602 Nazwy klawiszy 603 Naciskanie i zwalnianie klawiszy 604 Kombinacja klawiszy 604 Konfiguracja skryptów automatyzacji GUI 605 Przegląd funkcji modułu pyautogui 607 Projekt - automatyczne wypełnianie formularzy 608 Etap 1. Ustalenie kroków do wykonania 610 Etap 2. Przygotowanie współrzędnych 611 Etap 3. Rozpoczęcie wpisywania danych 612 Etap 4. Obsługa rozwijanych list i przycisków opcji 613 Etap 5. Wysłanie formularza i oczekiwanie 614 Wyświetlanie okien dialogowych 615 Podsumowanie 616 Pytania kontrolne 617 Projekty praktyczne 618 Symulowanie zajętości 618 Używanie schowka do odczytywania pola tekstowego 618 Bot komunikatora internetowego 619 Samouczek dotyczący bota grającego w grę 620 A. Instalacja modułów firm trzecich 621 Narzędzie pip 621 Instalacja modułów firm trzecich 622 Instalowanie modułów dla edytora Mu 624 B. Uruchamianie programów 627 Uruchamianie programów z poziomu powłoki 627 Uruchamianie programów Pythona w Windows 629 Uruchamianie programów Pythona w systemie macOS 630 Uruchamianie programów Pythona w systemie Ubuntu Linux 631 Uruchamianie programów Pythona z wyłączonymi asercjami 632 C. Odpowiedzi na pytania kontrolne 633 Rozdział 1. 634 Rozdział 2. 634 Rozdział 3. 636 Rozdział 4. 637 Rozdział 5. 638 Rozdział 6. 638 Rozdział 7. 639 Rozdział 8. 640 Rozdział 9. 640 Rozdział 10. 641 Rozdział 11. 641 Rozdział 12. 642 Rozdział 13. 643 Rozdział 14. 644 Rozdział 15. 645 Rozdział 16. 645 Rozdział 17. 646 Rozdział 18. 646 Rozdział 19. 647 Rozdział 20. 648 O autorze: Albert Sweigart — programista, projektant oprogramowania i nauczyciel kodowania. Autor licznych książek o Pythonie dla początkujących. Sweigart urodził się w Houston, w stanie Teksas, a obecnie mieszka w San Francisco. Prowadzi blog dostępny pod adresem: http://coffeeghost.net.

Specyfikacja

Podstawowe informacje

Autor
  • Al Sweigart
Rok wydania
  • 2021
Format
  • PDF
  • MOBI
  • EPUB
Ilość stron
  • 648
Kategorie
  • Programowanie
Wybrani autorzy
  • Al Sweigart
Wybrane wydawnictwa
  • Helion