Automatyzacja nudnych zadań z Pythonem. Nauka programowania. Wydanie II - Al Sweigart

Indeks: KSZ-19781 EAN: 9788328374898
Drugie wydanie nietypowego podręcznika o programowaniu w Pythonie. Dzięki niemu możesz nauczyć się jak tworzyć programy, które oszczędzą Ci mnóstwo czasu i wysiłku. Dla osób, które nigdy nie programowały książka ta będzie stanowiła pomoc w błyskawicznym opanowaniu podstaw i zapoznaniu 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.
Automatyzacja nudnych zadań z Pythonem. Nauka programowania. Wydanie II - Al Sweigart
79,90 zł
76,10 zł netto
Zapłać później
Producent: Helion

Opis produktu: Automatyzacja nudnych zadań z Pythonem. Nauka programowania. Wydanie II - Al Sweigart

Drugie wydanie nietypowego podręcznika o programowaniu w Pythonie. Dzięki niemu możesz nauczyć się jak tworzyć programy, które oszczędzą Ci mnóstwo czasu i wysiłku. Dla osób, które nigdy nie programowały książka ta będzie stanowiła pomoc w błyskawicznym opanowaniu podstaw i zapoznaniu 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. Wydanie drugie 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.

Główne zagadnienia

  • 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

Automatyzacja nudnych zadań z Pythonem. Nauka programowania. Wydanie II - Al Sweigart.

Automatyzacja nudnych zadań z Pythonem. Nauka programowania. Wydanie II - Al Sweigart.

Wydanie drugie zawiera nowy rozdział poświęcony weryfikacji danych wejściowych.

Wydanie drugie zawiera nowy rozdział poświęcony weryfikacji danych wejściowych.

Informacje o książce

  • Tytuł oryginału: Automate the Boring Stuff with Python, 2nd Edition: Practical Programming for Total Beginners
  • Autor: Al Sweigart
  • Tłumaczenie: Robert Górczyński
  • ISBN: 978-83-283-7489-8
  • Rok wydania: 2021
  • Format: 170 x 235 mm
  • Ilość stron: 648
  • Wydawnictwo: Helion S.A.
  • Oprawa: miękka

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

Książka - Autor Al Sweigart
Książka - ISBN 978-83-283-7489-8
Książka - Oprawa miękka
Książka - Wydawnictwo Helion S.A.
Tematyka Python
Szerokość opakowania 23 cm
Wysokość opakowania 3 cm
Głębokość opakowania 17 cm
Masa opakowania 0.95 kg

Jako pierwszy zadaj pytanie dotyczące tego produktu!

Opinie o produkcie

Automatyzacja nudnych zadań z Pythonem. Nauka programowania. Wydanie II - Al Sweigart

5/5

Średnia Ocena

1

Opinie Klientów
Poniższe opinie zbieramy
i weryfikujemy przy pomocy
zewnętrznego partnera Trustmate
i pochodzą z procesu pozakupowego.

Zdjęcia użytkowników

Klienci którzy zakupili ten produkt kupili również:

Produkty z tej samej kategorii: