Nasza specjalność? Elektronika i druk 3D
Szybka dostawa 30 dni na zwrot
Magazyn i serwis? U nas, w Polsce!
Doradzamy i inspirujemy +1,7 mln zamówień
Nasza specjalność? Elektronika i druk 3D
Szybka dostawa 30 dni na zwrot
Magazyn i serwis? U nas, w Polsce!
Doradzamy i inspirujemy +1,7 mln zamówień

Zaufało nam już ponad 500 000 klientów. U nas masz:

 

wysyłkę tego samego dnia przy produktach z oznaczeniem „Wysyłka 24h”

 

własny serwis w Polsce

 

30 dni na zwrot i darmową dostawę w Polsce od 500 zł

 

4,9/5 w TrustMate i 4,9/5 w Google (prawie 4000 opinii)

 

fakturę VAT, leasing i raty dla firm

Dla firm

 

indywidualna wycena przy większych ilościach

 

leasing i raty od 1000 zł

 

faktura VAT

Dla szkół i uczelni

 

0% VAT na sprzęt komputerowy

 

zamówienia na zapytanie ofertowe

 

pomoc w doborze zestawów do pracowni

Złóż zapytanie ofertowe - odpowiadamy szybko.

Indeks: KSZ-19781
EAN: 9788328374898

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

5.00
2 opinie

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.

Cena:
Cena netto:

Produkt wycofany ze sprzedaży

Ten model nie jest już produkowany i nie wróci do naszej oferty.

Uwaga!

Sprzedaż produktu została zakończona. Sprawdź inne w tej kategorii.

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

Spis treści:

  • 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
  • Przekazanie 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
  • 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
  • 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
  • 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
  • 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

Przekazywanie odwołania 147

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

Tworzenie obiektów wyrażeń regularnych 217

Dopasowanie obiektów wyrażeń regularnych 218

Przegląd dopasowania za pomocą wyrażenia regularnego 218

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

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

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

Wykrywanie daty 242

Wykrywanie silnego hasła 242

Oparta na wyrażeniu regularnym wersja metody strip() 243

8. Weryfikacja danych wejściowych 245

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

Program przygotowujący kanapki 259

Własna wersja quizu z zakresu tabliczki mnożenia 259

9. Odczyt i zapis 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

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

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

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

Rozbudowa programu schowka przechowującego wiele elementów 294

Program Mad Libs 294

Wyszukiwanie wyrażenia regularnego 294

10. Organizacja plików 295

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

Odczyt pliku w formacie ZIP 302

Wyodrębnianie plików z archiwum ZIP 303

Utworzenie i dodawanie elementów do archiwum ZIP 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

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

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

Użycie asercji w projekcie symulacji ulicznej sygnalizacji świetlnej 321

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

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

Debugowanie programu symulującego rzut monetą 334

12. Pobieranie danych z internetu 337

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 strony internetowej za pomocą funkcji requests.get() 342

Sprawdzenie pod kątem błędów 343

Zapis pobranych plików na dysku twardym 344

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

Utworzenie obiektu BeautifulSoup na podstawie kodu HTML 352

Wyszukiwanie elementu za pomocą metody select() 353

Pobieranie danych z atrybutów elementu 355

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

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

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

Klient poczty działający w wierszu poleceń 374

Pobieranie obrazów z witryny internetowej 374

Weryfikacja łącza 375

13. Praca z arkuszami kalkulacyjnymi programu Excel 377

Dokumenty Excela 378

Instalacja modułu openpyxl 378

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

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

Tworzenie i zapisywanie dokumentów Excela 391

Tworzenie i usuwanie arkuszy kalkulacyjnych 391

Zapis wartości w komórkach 392

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

Ustalenie wysokości wiersza i szerokości kolumny 400

Łączenie i dzielenie komórki 401

Zablokowane okienka 402

Podsumowanie 404

Pytania kontrolne 405

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

Pobranie danych uwierzytelniających i plików tokenów 412

Unieważnienie pliku danych uwierzytelniających 414

Tworzenie, przekazywanie i wyświetlanie skoroszytów 415

Atrybuty skoroszytu 417

Pobieranie i przekazywanie skoroszytów 418

Usuwanie skoroszytu 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

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

Wyodrębnianie tekstu z dokumentu PDF 432

Deszyfrowanie dokumentu PDF 434

Tworzenie dokumentów PDF 435

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

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

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

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

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

Odczyt danych JSON za pomocą funkcji loads() 474

Zapis danych w formacie JSON za pomocą funkcji dumps() 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

Konwerter danych w formacie Excel do formatu CSV 481

17. Czas, harmonogram zadań i uruchamianie programów 483

Funkcja time.time() 484

Funkcja time.sleep() 485

Zaokrąglanie liczb 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

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

Przekazanie argumentów funkcji docelowej dla nowego wątku 498

Kwestie związane ze współbieżnością 499

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

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

Etap 1. Odliczanie 509

Etap 2. Odtworzenie pliku dźwiękowego 510

Pomysły na podobne programy 510

Podsumowanie 511

Pytania kontrolne 512

Ładniejszy stoper 512

Oparty na harmonogramie program pobierający komiksy 513

18. Wysyłanie wiadomości e-mail i tekstowych 515

19. Praca z obrazami 553

Pomysły na podobne programy 573

Własne wizytówki 581

20. Kontrolowanie klawiatury i myszy za pomocą automatyzacji GUI 583

Nazwa Wartość
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ść 23 cm
Wysokość 3 cm
Głębokość 17 cm
Waga 0,95 kg

Darmowa dostawa od 500,00 zł

Przy zamówieniach o wartości 500,00 zł i więcej koszt przesyłki pokrywamy my, niezależnie od wybranego przewoźnika. Dotyczy dostawy do kraju: Polska.

Sposób dostawy Czas dostawy Koszt
GLS Automaty Dostawa 24h od 8,99 zł
Paczkomaty 24/7 Dostawa 24h (ubezpieczenie do 200 zł) od 13,99 zł
Kurier InPost Dostawa 24h od 14,99 zł
Kurier GLS Dostawa 24h od 14,99 zł
InPost Paczkomaty Weekend Dostawa w sobotę od 19,99 zł
Kurier InPost (pobranie) Dostawa 24h od 22,99 zł
Ambro ohne Hereintragen Dostawa 1-2 dni od 150,00 zł
Ambro mit Hereintragen Dostawa 1-2 dni od 200,00 zł

Szczegółowe warunki dostawy znajdziesz na stronie Dostawa i płatności.

Zasady składania reklamacji towaru

Zgodnie z obowiązującymi przepisami, ponosimy odpowiedzialność na zasadach określonych w Kodeksie Cywilnym za wady fizyczne i prawne.

Po wykryciu wady Kupujący ma prawo:

  • złożyć oświadczenie o żądaniu obniżenia ceny,
  • złożyć oświadczenie o odstąpieniu od umowy, ale nie wtedy kiedy wada jest nieistotna,
  • żądać wymiany rzeczy na wolną od wad,
  • żądać usunięcia wady.

Informujemy, że Dział Reklamacji firmy Botland rozpatruje zgłoszenia w ciągu 14 dni kalendarzowych od daty ich wpłynięcia. Botland odpowiada z tytułu rękojmi jeśli wada fizyczna zostanie stwierdzona przed upływem dwóch lat od momentu wydania rzeczy.

Informacje dotyczące korzystania z prawa odstąpienia od umowy

Zgodnie z aktualnymi przepisami prawnymi Konsument ma prawo odstąpić od umowy kupna-sprzedaży w terminie 30 dni bez podania przyczyny. Termin ten wygasa po upływie 30 dni od momentu, w którym Konsument wszedł w posiadanie rzeczy lub w którym osoba trzecia inna niż przewoźnik i wskazana przez Konsumenta weszła w posiadanie rzeczy.

Informujemy, że zgodnie z obowiązującymi przepisami oraz §4 Regulaminu zwrot towaru przysługuje wyłącznie Konsumentom (zakup niezwiązany bezpośrednio działalnością gospodarczą lub zawodową). Zwroty nie przysługują Klientom (zakup związany bezpośrednio działalnością gospodarczą lub zawodową).

Przebieg reklamacji / zwrotu

W celu zgłoszenia reklamacji prosimy postępować zgodnie z instrukcją:

  1. Zapoznaj się z zasadami reklamacji / zwrotu.
  2. Wypełnij formularz, który znajduje się poniżej.
  3. Zapoznaj się z treścią otrzymanej odpowiedzi.
  4. Po otrzymaniu wiadomości e-mail ze statusem „Oczekiwanie na przesyłkę”, zabezpiecz i zapakuj niesprawny produkt.
  5. Wyślij przesyłkę na podany niżej adres wraz z wydrukowanym formularzem oraz dowodem zakupu.
Formularz reklamacyjny

W celu rozpoczęcia procedury reklamacyjnej / zwrotu, wypełnij formularz.

Adres do wysyłki

BOTLAND - SERWIS
Gola 25A
63-640 Bralin

Zasady reklamacji

W celu sprawnego przeprowadzenia procesu reklamacji, prosimy o zapoznanie się z opisanymi poniżej zasadami:

  1. Przed odesłaniem sprzętu prosimy o upewnienie się, iż produkt faktycznie jest niesprawny.
  2. W celu sprawnego przebiegu reklamacji prosimy o wypełnienie formularza reklamacyjnego oraz dołączenie go do przesyłki.
  3. Do reklamowanych produktów prosimy dołączyć dowód zakupu (np. paragon, fakturę lub potwierdzenie wykonania przelewu).
  4. Towar należy starannie zapakować, aby zapewnić bezpieczny transport i zapobiec kolejnym uszkodzeniom.
  5. Firma Botland nie odbiera paczek reklamacyjnych wysłanych za pobraniem oraz paczek nadawanych do automatów paczkowych np. urządzeń Paczkomat.
  6. Zwrot kosztów przesyłki następuje po uznaniu reklamacji. Jest to kwota zgodna z najtańszą oferowaną formą dostawy.
  7. Po uznaniu reklamacji zwrot środków nastąpi w ciągu 14 dni. Zwrotu dokonamy przy użyciu takich samych sposobów płatności oraz w tej samej walucie, jakie zostały użyte w pierwotnej transakcji, chyba że Kupujący wyraził zgodę na inne rozwiązanie lub je zaproponował.
  8. Sprzęt prosimy odsyłać kompletny razem z akcesoriami. Produkty niekompletne zostaną odesłane bez rozpatrzenia na koszt nadawcy.
  9. Samodzielna naprawa, przeprowadzona przez osoby nieuprawnione, tj. niebędąca naprawą przez firmę Botland, pozbawia Kupującego prawa do dalszego reklamowania.
  10. O sposobie rozpatrzenia reklamacji Kupujący zostanie poinformowany drogą elektroniczną (poprzez wiadomość e-mail).
  11. Szczegółowe informacje dotyczące aktualnych kosztów wysyłki znajdują się na stronie www.botland.com.pl w zakładce Dostawa.
  12. Odesłanie sprzętu jest równoznaczne z zapoznaniem się z powyższymi zasadami.

Zasady zwrotu towaru

  1. W celu skorzystania z prawa odstąpienia od umowy, Konsument zobowiązany jest poinformować Sprzedającego o swojej decyzji poprzez jednoznaczne oświadczenie.
  2. W celu sprawnego przeprowadzenia procesu zwrotu prosimy o wypełnienie formularza. Konsument może również skorzystać z innego oświadczenia niż zamieszczony formularz.
  3. W przypadku odstąpienia od umowy zwracamy wszystkie otrzymane płatności, w tym koszty dostarczenia rzeczy do Konsumenta (z wyjątkiem dodatkowych kosztów wynikających z wybranego przez Konsumenta sposobu dostarczenia innego niż najtańszy przez nas oferowany). Konsument ponosi koszty przesyłki zwrotnej. Zwrot środków nastąpi w ciągu 14 dni od dnia, w którym zostaliśmy poinformowani o decyzji odstąpienia od umowy. Zwrotu dokonamy przy użyciu takich samych sposobów płatności oraz w tej samej walucie, jakie zostały użyte w pierwotnej transakcji, chyba że Konsument wyraził zgodę na inne rozwiązanie lub je zaproponował.
  4. Możemy wstrzymać się ze zwrotem płatności do czasu otrzymania rzeczy lub dostarczenia nam dowodu jej odesłania, w zależności od tego, które zdarzenie nastąpi wcześniej.
  5. Prosimy o odesłanie lub przekazanie nam rzeczy niezwłocznie, a w każdym razie nie później niż 14 dni od dnia, w którym zostaliśmy poinformowani o odstąpieniu od umowy. Prosimy również o staranne zapakowanie towaru przed wysyłką.
  6. Konsument odpowiada tylko za zmniejszenie wartości produktu wynikającej z korzystania w sposób inny niż było to konieczne do stwierdzenia cech i funkcjonalności.
  7. Firma Botland nie odbiera paczek zwrotnych wysłanych za pobraniem oraz paczek nadawanych do automatów paczkowych np. urządzeń Paczkomat.

Zadaj pierwsze pytanie o ten produkt!

Instrukcje i dokumenty

Dane GPSR

Kraj pochodzenia Polska
Dane kontaktowe producenta Helion.pl sp. z o.o. ul. Kościuszki 1c 44-100 Gliwice [email protected]
Dane kontaktowe wprowadzającego na rynek UE Helion.pl sp. z o.o. ul. Kościuszki 1c 44-100 Gliwice [email protected]
Inni klienci oglądali również
2 opinie

Opinie zbieramy i weryfikujemy przy pomocy zewnętrznego partnera Trustmate; pochodzą z procesu pozakupowego.

Wczytywanie opinii…