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
Dostępny
SPRAWDŹ ILOŚĆ
Wysyłka 24h
30 dni na zwrot
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

Wysyłka w dniu zamówienia

Zaksięgowanie wpłaty za zamówienie na naszym koncie w dzień roboczy do godziny 12:00 oznacza wysyłkę towaru jeszcze tego samego dnia! 

Czas realizacji płatności uzależniony jest od godzin sesji ELIXIR banków nadawcy i odbiorcy przelewu (więcej informacji na ten temat np. na stronie https://www.kiedy-przelew.pl/).

Darmowa wysyłka w Polsce już od 300 zł

Jeśli kwota do zapłaty za produkty przekroczy 300 zł dostawa gratis! Dotyczy zamówień opłaconych przed wysyłką. Zamówienia pobraniowe wysyłamy gratis od 500 zł.

Zamówienia wielkogabarytowe, przekraczające standardowe wymiary przesyłek kurierskich mogą zostać wysłane na palecie. Czas doręczenia takiej przesyłki wynosi 1-3 dni robocze od momentu nadania.

Wysyłka na terenie Polski

Card image cap
Poczta Polska
  • Termin dostawy: 1-3 dni
  • Płatność z góry: od 9,90 zł
  • Płatność przy odbiorze: 17,90 zł
  • Ubezpieczenie: 1000 zł
Card image cap
Kurier GLS
  • Termin dostawy: 24h
  • Płatność z góry: od 14,90 zł
  • Płatność przy odbiorze: 22,90 zł
  • Ubezpieczenie: 6000 zł
Card image cap
Inpost Paczkomaty 24/7
  • Termin dostawy: 1-3 dni
  • Płatność z góry: od 12,90 zł
  • Ponad 11 000 Paczkomatów
  • Ubezpieczenie: 200 zł
Card image cap
Inpost Kurier
  • Termin dostawy: 24h
  • Płatność z góry: od 16,90 zł
  • Ubezpieczenie: do 100 000 zł
  • Dostawa pod wskazany adres

Wysyłka za granicę

Kurier GLS - strefa 1

Austria, Belgia, Chrowacja, Czechy, Dania, Niemcy, Holandia, Słowacja

  • Termin dostawy: 2-4 dni
  • Płatność z góry: 35 zł
Kurier GLS - strefa 2

Bułgaria, Estonia, Francja, Litwa, Luksemburg,  Łotwa, Portugalia, Rumunia, San Marino, Słowenia, Węgry, Włochy

  • Termin dostawy: 2-5 dni
  • Płatność z góry: 50 zł
Kurier GLS - strefa 3

Finlandia, Grecja, Hiszpania, Irlandia, Szwecja

  • Termin dostawy: 2-7 dni
  • Płatność z góry: 80 zł

Formy płatności

Card image cap
PayU
  • Płatność natychmiastowa. Twoja wpłata trafi na nasze kontro w ciągu kilku minut.

    W tym:
Card image cap
Przelew tradycyjny
  • Po złożeniu zamówienia otrzymasz od nas numer konta bankowego do dokonania przelewu.

    W zależności od banku Twoja wpłata dotrze do nas w ciągu 1-2 dni roboczych.
Card image cap
Pobranie
  • Za zakupy zapłacisz bezpośrednio przy odbiorze paczki. Pamiętaj o przygotowaniu odliczonej kwoty.

    Maksymalna wartość zamówienia płatnego za pobraniem to 6 000 zł.

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
08.05.2022
książka dobra jako podręczne podpowiedzi do języka

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

Produkty z tej samej kategorii: