- Produkt wycofany
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.
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.
Nie udało się pobrać ceny.
Cena promocyjna nie łączy się z rabatami za ilość.
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.
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 |
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.
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ą:
- Zapoznaj się z zasadami reklamacji / zwrotu.
- Wypełnij formularz, który znajduje się poniżej.
- Zapoznaj się z treścią otrzymanej odpowiedzi.
- Po otrzymaniu wiadomości e-mail ze statusem „Oczekiwanie na przesyłkę”, zabezpiecz i zapakuj niesprawny produkt.
- Wyślij przesyłkę na podany niżej adres wraz z wydrukowanym formularzem oraz dowodem zakupu.
W celu rozpoczęcia procedury reklamacyjnej / zwrotu, wypełnij formularz.
BOTLAND - SERWIS
Gola 25A
63-640 Bralin
Zasady reklamacji
W celu sprawnego przeprowadzenia procesu reklamacji, prosimy o zapoznanie się z opisanymi poniżej zasadami:
- Przed odesłaniem sprzętu prosimy o upewnienie się, iż produkt faktycznie jest niesprawny.
- W celu sprawnego przebiegu reklamacji prosimy o wypełnienie formularza reklamacyjnego oraz dołączenie go do przesyłki.
- Do reklamowanych produktów prosimy dołączyć dowód zakupu (np. paragon, fakturę lub potwierdzenie wykonania przelewu).
- Towar należy starannie zapakować, aby zapewnić bezpieczny transport i zapobiec kolejnym uszkodzeniom.
- Firma Botland nie odbiera paczek reklamacyjnych wysłanych za pobraniem oraz paczek nadawanych do automatów paczkowych np. urządzeń Paczkomat.
- Zwrot kosztów przesyłki następuje po uznaniu reklamacji. Jest to kwota zgodna z najtańszą oferowaną formą dostawy.
- 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ł.
- Sprzęt prosimy odsyłać kompletny razem z akcesoriami. Produkty niekompletne zostaną odesłane bez rozpatrzenia na koszt nadawcy.
- Samodzielna naprawa, przeprowadzona przez osoby nieuprawnione, tj. niebędąca naprawą przez firmę Botland, pozbawia Kupującego prawa do dalszego reklamowania.
- O sposobie rozpatrzenia reklamacji Kupujący zostanie poinformowany drogą elektroniczną (poprzez wiadomość e-mail).
- Szczegółowe informacje dotyczące aktualnych kosztów wysyłki znajdują się na stronie www.botland.com.pl w zakładce Dostawa.
- Odesłanie sprzętu jest równoznaczne z zapoznaniem się z powyższymi zasadami.
Zasady zwrotu towaru
- W celu skorzystania z prawa odstąpienia od umowy, Konsument zobowiązany jest poinformować Sprzedającego o swojej decyzji poprzez jednoznaczne oświadczenie.
- W celu sprawnego przeprowadzenia procesu zwrotu prosimy o wypełnienie formularza. Konsument może również skorzystać z innego oświadczenia niż zamieszczony formularz.
- 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ł.
- 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.
- 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ą.
- 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.
- 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
Opinie zbieramy i weryfikujemy przy pomocy zewnętrznego partnera Trustmate; pochodzą z procesu pozakupowego.
Zadaj pytanie o produkt
Masz pytanie dotyczące tego produktu? Napisz do nas, a my odpowiemy najszybciej jak to możliwe.
Zwykle odpowiadamy w ciągu jednego dnia roboczego. Odpowiedź wyślemy na podany adres e-mail.
