Facebook - konwersja
  • promocja

Automatyzacja nudnych zadań z Pythonem. Nauka programowania - ebook

Wydawnictwo:
Data wydania:
27 kwietnia 2017
Format ebooka:
MOBI
Format MOBI
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najczęściej wybieranych formatów wśród czytelników e-booków. Możesz go odczytać na czytniku Kindle oraz na smartfonach i tabletach po zainstalowaniu specjalnej aplikacji. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, PDF
Format PDF
czytaj
na laptopie
czytaj
na tablecie
Format e-booków, który możesz odczytywać na tablecie oraz laptopie. Pliki PDF są odczytywane również przez czytniki i smartfony, jednakze względu na komfort czytania i brak możliwości skalowania czcionki, czytanie plików PDF na tych urządzeniach może być męczące dla oczu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, EPUB
Format EPUB
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najpopularniejszych formatów e-booków na świecie. Niezwykle wygodny i przyjazny czytelnikom - w przeciwieństwie do formatu PDF umożliwia skalowanie czcionki, dzięki czemu możliwe jest dopasowanie jej wielkości do kroju i rozmiarów ekranu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
(3w1)
Multiformat
E-booki sprzedawane w księgarni Virtualo.pl dostępne są w opcji multiformatu - kupujesz treść, nie format. Po dodaniu e-booka do koszyka i dokonaniu płatności, e-book pojawi się na Twoim koncie w Mojej Bibliotece we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu przy okładce. Uwaga: audiobooki nie są objęte opcją multiformatu.
czytaj
na laptopie
Pliki PDF zabezpieczone watermarkiem możesz odczytać na dowolnym laptopie po zainstalowaniu czytnika dokumentów PDF. Najpowszechniejszym programem, który umożliwi odczytanie pliku PDF na laptopie, jest Adobe Reader. W zależności od potrzeb, możesz zainstalować również inny program - e-booki PDF pod względem sposobu odczytywania nie różnią niczym od powszechnie stosowanych dokumentów PDF, które odczytujemy każdego dnia.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na tablecie
Aby odczytywać e-booki na swoim tablecie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. Bluefire dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na czytniku
Czytanie na e-czytniku z ekranem e-ink jest bardzo wygodne i nie męczy wzroku. Pliki przystosowane do odczytywania na czytnikach to przede wszystkim EPUB (ten format możesz odczytać m.in. na czytnikach PocketBook) i MOBI (ten fromat możesz odczytać m.in. na czytnikach Kindle).
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na smartfonie
Aby odczytywać e-booki na swoim smartfonie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. iBooks dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.

Automatyzacja nudnych zadań z Pythonem. Nauka programowania - ebook

Komputer jest niezwykle wszechstronnym narzędziem, które może posłużyć do błyskawicznego wykonywania przeróżnych czynności. Dotyczy to również zadań, które zwykle zajmują mnóstwo czasu, a przy tym są męczące i nudne. Zamiast przez wiele godzin porównywać czy wprowadzać dane, lepiej dobrze zaprogramować komputer, który wykona takie zadania w ciągu kilku sekund. Aby to osiągnąć, wcale nie trzeba być profesjonalnym programistą!

Jeśli nie masz pojęcia o programowaniu, ale chcesz wykorzystać komputer do automatyzacji prostych, powtarzalnych operacji, trzymasz w ręku właściwą książkę. Podstawy programowania przedstawiono tu w sposób klarowny i zrozumiały, poszczególne działania wyjaśniono krok po kroku, a propozycje praktycznych projektów pozwalają na gruntowne przyswojenie materiału i poszerzenie wiedzy. Do nauki wykorzystano język Python, ponieważ jest on stosunkowo prosty, popularny, a przy tym wciąż rozwijany. Szybko przekonasz się, ile czasu i wysiłku można zaoszczędzić dzięki automatyzacji zadań za pomocą krótkich i łatwych programów!

W książce znajdziesz między innymi:

  • podstawy programowania w Pythonie
  • opis kontroli przepływu działania programu
  • informacje o pracy na danych tekstowych i plikach
  • wiadomości o pracy z plikami CSV i danymi JSON
  • harmonogramy zadań i opis kontroli czasu uruchamiania programu
  • możliwości kontrolowania klawiatury i myszy za pomocą automatyzacji GUI

Niech Twój komputer Cię wyręczy!

Spis treści

O autorze (21)

O recenzencie technicznym (21)

Podziękowania (23)

Wprowadzenie (25)

  • Do kogo jest skierowana ta książka? (26)
  • Konwencje (27)
  • Czym jest programowanie? (27)
    • Co to jest Python? (28)
    • Programiści nie muszą dobrze znać matematyki (28)
    • Programowanie to aktywność kreatywna (29)
  • O tej książce (30)
  • Pobieranie i instalacja Pythona (31)
  • Uruchomienie środowiska IDLE (33)
    • Powłoka interaktywna (33)
  • Jak otrzymać pomoc? (34)
  • Sprytne zadawanie pytań dotyczących programowania (35)
  • Podsumowanie (36)

CZĘŚĆ I. PODSTAWY PROGRAMOWANIA W PYTHONIE (37)

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 (47)
  • Twój pierwszy program (48)
  • Analiza programu (49)
    • Polecenia (49)
    • Funkcja print() (50)
    • Funkcja input() (50)
    • Wyświetlanie imienia użytkownika (50)
    • 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 (65)
  • Elementy kontroli przepływu działania programu (65)
    • Warunek (66)
    • 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)
  • Podsumowanie (89)
  • Pytania kontrolne (89)

3. Funkcje (91)

  • Polecenie def wraz z parametrami (93)
  • Wartość zwrotna funkcji i polecenie return (93)
  • Wartość None (95)
  • Argumenty w postaci słów kluczowych i funkcja print() (96)
  • Zasięgi lokalny i globalny (97)
    • Zmienne lokalne nie mogą być używane w zasięgu globalnym (98)
    • W zasięgu lokalnym nie można używać zmiennych zdefiniowanych w innych zasięgach lokalnych (99)
    • Zmienna globalna może być używana w zasięgu lokalnym (99)
    • Zmienna lokalna i globalna o takiej samej nazwie (100)
  • Polecenie global (101)
  • Obsługa wyjątków (103)
  • Krótki program - odgadnij liczbę (105)
  • Podsumowanie (107)
  • Pytania kontrolne (108)
  • Projekt praktyczny (108)
    • Problem Collatza (109)
    • Weryfikacja danych wyjściowych (109)

4. Listy (111)

  • Typ danych List (111)
    • Pobieranie poszczególnych wartości listy za pomocą indeksu (112)
    • Indeks ujemny (114)
    • Pobieranie podlisty za pomocą wycinka (114)
    • Pobieranie długości listy za pomocą polecenia len() (115)
    • Zmiana wartości na liście za pomocą indeksu (115)
    • Konkatenacja i replikacja listy (116)
    • Usunięcie wartości listy za pomocą polecenia del (116)
  • Praca z listą (116)
    • Użycie pętli for wraz z listą (118)
    • Operatory in i not in (119)
    • Sztuczka pozwalająca na wiele jednoczesnych operacji przypisania (120)
  • Operatory przypisania i zmiany wartości (121)
  • Metody (122)
    • Odszukanie wartości na liście za pomocą metody index() (122)
    • Dodanie wartości do listy za pomocą metod append() i insert() (123)
    • Usuwanie wartości z listy za pomocą metody remove() (124)
    • Sortowanie wartości listy za pomocą metody sort() (124)
  • Przykładowy program - Magic 8 Ball utworzony za pomocą listy (126)
  • Typy przypominające listę - ciąg tekstowy i krotka (127)
    • Modyfikowalne i niemodyfikowalne typy danych (128)
    • Typ danych krotka (130)
    • Konwersja typu za pomocą funkcji list() i tuple() (131)
  • Odwołania (132)
    • Przekazywanie odwołania (134)
    • Funkcje copy() i deepcopy() modułu copy (135)
  • Podsumowanie (136)
  • Pytania kontrolne (136)
  • Projekty praktyczne (137)
    • Kod z przecinkami (137)
    • Obraz na podstawie macierzy (137)

5. Słowniki i strukturyzacja danych (139)

  • Typ danych Dictionary (139)
    • Słownik kontra lista (140)
    • Metody keys(), values() i items() (142)
    • Sprawdzenie, czy klucz lub wartość istnieją w słowniku (143)
    • Metoda get() (144)
    • Metoda setdefault() (144)
  • Eleganckie wyświetlanie danych (146)
  • Użycie struktur danych do modelowania rzeczywistych rozwiązań (147)
    • Plansza do gry w kółko i krzyżyk (148)
    • Zagnieżdżone słowniki i listy (152)
  • Podsumowanie (154)
  • Pytania kontrolne (154)
  • Projekty praktyczne (154)
    • Inwentarz w grze fantasy (155)
    • Funkcja konwertująca listę na słownik dla inwentarza w grze fantasy (155)

6. Operacje na ciągach tekstowych (157)

  • Praca z ciągami tekstowymi (157)
    • Literały ciągu tekstowego (158)
    • Indeksowanie i wycinanie ciągów tekstowych (161)
    • Użycie operatorów in i not in podczas pracy z ciągami tekstowymi (162)
  • Użyteczne metody ciągu tekstowego (162)
    • Metody upper(), lower(), isupper() i islower() (162)
    • Metody typu isX() (164)
    • Metody startswith() i endswith() (166)
    • Metody join() i split() (167)
    • Wyrównywanie tekstu za pomocą metod rjust(), ljust() i center() (168)
    • Usunięcie białych znaków za pomocą strip(), rstrip() i lstrip() (170)
    • Kopiowanie i wklejanie ciągów tekstowych za pomocą modułu pyperclip (171)
  • Projekt - menedżer haseł (172)
    • Etap 1. Projekt programu i struktur danych (172)
    • Etap 2. Obsługa argumentów wiersza poleceń (173)
    • Etap 3. Skopiowanie odpowiedniego hasła (173)
  • Projekt - dodanie wypunktowania do kodu znaczników Wiki (175)
    • Etap 1. Kopiowanie i wklejanie ze schowka (175)
    • Etap 2. Rozdzielenie wierszy tekstu i dodanie gwiazdki (176)
    • Etap 3. Złączenie zmodyfikowanych wierszy (177)
  • Podsumowanie (177)
  • Pytania kontrolne (178)
  • Projekt praktyczny (179)
    • Wyświetlenie tabeli (179)

CZĘŚĆ II. AUTOMATYZACJA ZADAŃ (181)

7. Dopasowanie wzorca za pomocą wyrażeń regularnych (183)

  • Wyszukiwanie wzorców w tekście bez użycia wyrażeń regularnych (184)
  • Wyszukiwanie wzorców w tekście z użyciem wyrażeń regularnych (186)
    • Tworzenie obiektów wyrażeń regularnych (187)
    • Dopasowanie obiektów wyrażeń regularnych (187)
    • Przegląd dopasowania za pomocą wyrażenia regularnego (189)
  • Jeszcze więcej o dopasowaniach wzorca za pomocą wyrażeń regularnych (189)
    • Grupowanie z użyciem nawiasów (189)
    • Dopasowanie wielu grup za pomocą potoku (190)
    • Opcjonalne dopasowanie za pomocą znaku zapytania (191)
    • Dopasowanie zera wystąpień lub większej liczby wystąpień za pomocą gwiazdki (192)
    • Dopasowanie jednego wystąpienia lub wielu wystąpień za pomocą plusa (193)
    • Dopasowanie określonych powtórzeń za pomocą nawiasu klamrowego (193)
  • Dopasowanie zachłanne i niezachłanne (194)
  • Metoda findall() (195)
  • Klasy znaków (196)
  • Utworzenie własnej klasy znaków (197)
  • Znaki ^ oraz $ (198)
  • Znak wieloznaczny (199)
    • Dopasowanie wszystkiego za pomocą kropki i gwiazdki (199)
    • Dopasowanie znaku nowego wiersza za pomocą kropki (200)
  • Przegląd znaków stosowanych w wyrażeniach regularnych (200)
  • Dopasowanie bez uwzględnienia wielkości znaków (201)
  • Zastępowanie ciągu tekstowego za pomocą metody sub() (202)
  • Zarządzanie skomplikowanymi wyrażeniami regularnymi (203)
  • Połączenie opcji re.IGNORECASE, re.DOTALL i re.VERBOSE (203)
  • Projekt - wyodrębnianie numeru telefonu i adresu e-mail (204)
    • Etap 1. Utworzenie wyrażenia regularnego dopasowującego numer telefonu (205)
    • Etap 2. Utworzenie wyrażenia regularnego dopasowującego adres e-mail (206)
    • Etap 3. Wyszukanie wszystkich dopasowań w tekście umieszczonym w schowku (207)
    • Etap 4. Połączenie dopasowań w celu utworzenia pojedynczego ciągu tekstowego do umieszczenia w schowku (208)
    • Uruchomienie programu (208)
    • Pomysły na podobne programy (209)
  • Podsumowanie (209)
  • Pytania kontrolne (210)
  • Projekty praktyczne (211)
    • Wykrywanie silnego hasła (212)
    • Oparta na wyrażeniu regularnym wersja metody strip() (212)

8. Odczyt i zapis plików (213)

  • Pliki i ścieżki dostępu do plików (213)
    • Lewy ukośnik w systemie Windows, prawy ukośnik w systemach macOS i Linux (214)
    • Bieżący katalog roboczy (215)
    • Względne kontra bezwzględne ścieżki dostępu (216)
    • Tworzenie nowych katalogów za pomocą funkcji os.makedirs() (216)
  • Moduł os.path (217)
    • Obsługa bezwzględnych i względnych ścieżek dostępu (217)
    • Ustalenie wielkości pliku i zawartości katalogu (220)
    • Sprawdzenie poprawności ścieżki dostępu (221)
  • Proces odczytu i zapisu pliku (222)
    • Otwieranie pliku za pomocą funkcji open() (223)
    • Odczyt zawartości pliku (224)
    • Zapis pliku (225)
  • Zapis zmiennych za pomocą modułu shelve (226)
  • Zapis zmiennych za pomocą funkcji pprint.pformat() (227)
  • Projekt - generowanie losowych plików quizu (229)
    • Etap 1. Umieszczenie danych quizu w słowniku (229)
    • Etap 2. Utworzenie pliku quizu i losowe umieszczenie odpowiedzi na pytania (230)
    • Etap 3. Utworzenie odpowiedzi (231)
    • Etap 4. Zapis treści w plikach quizu i odpowiedzi (232)
  • Projekt - schowek przechowujący wiele elementów (234)
    • Etap 1. Komentarze i konfiguracja pliku binarnego (235)
    • Etap 2. Zapis zawartości schowka wraz ze słowem kluczowym (235)
    • Etap 3. Wyświetlenie słów kluczowych i wczytanie treści powiązanej ze słowem kluczowym (236)
  • Podsumowanie (237)
  • Pytania kontrolne (237)
  • Projekty praktyczne (238)
    • Rozbudowa programu schowka przechowującego wiele elementów (238)
    • Program Mad Libs (238)
    • Wyszukiwanie wyrażenia regularnego (239)

9. Organizacja plików (241)

  • Moduł shutil (242)
    • Kopiowanie plików i katalogów (242)
    • Przenoszenie oraz zmiana nazwy plików i katalogów (243)
    • Trwałe usunięcie plików i katalogów (245)
    • Bezpieczne usuwanie danych za pomocą modułu send2trash (246)
  • Przejście przez drzewo katalogu (246)
  • Kompresja plików za pomocą modułu zipfile (248)
    • Odczyt pliku w formacie ZIP (248)
    • Wyodrębnianie plików z archiwum ZIP (249)
    • Utworzenie i dodawanie elementów do archiwum ZIP (250)
  • Projekt - zmiana plików z datami w stylu amerykańskim na daty w stylu europejskim (251)
    • Etap 1. Utworzenie wyrażenia regularnego dla daty w stylu amerykańskim (251)
    • Etap 2. Identyfikacja w nazwie pliku fragmentów określających datę (253)
    • Etap 3. Utworzenie nowej nazwy pliku i zmiana nazw plików (254)
    • Pomysły na podobne programy (255)
  • Projekt - utworzenie archiwum ZIP będącego kopią katalogu (255)
    • Etap 1. Ustalenie nazwy pliku archiwum ZIP (256)
    • Etap 2. Utworzenie nowego archiwum ZIP (257)
    • Etap 3. Przejście przez drzewo katalogu i dodanie plików do archiwum ZIP (258)
    • Pomysły na podobne programy (259)
  • Podsumowanie (259)
  • Pytania kontrolne (260)
  • Projekty praktyczne (260)
    • Kopiowanie selektywne (260)
    • Usunięcie niepotrzebnych plików (260)
    • Wypełnienie przerw (260)

10. Usuwanie błędów (261)

  • Zgłaszanie wyjątku (262)
  • Pobranie stosu wywołań w postaci ciągu tekstowego (264)
  • Asercje (265)
    • Użycie asercji w projekcie symulacji ulicznej sygnalizacji świetlnej (266)
    • Wyłączenie asercji (268)
  • Rejestracja danych (268)
    • Użycie modułu logging (268)
    • Nie przeprowadzaj procesu usuwania błędów za pomocą funkcji print() (270)
    • Poziomy rejestrowania informacji (271)
    • Wyłączenie rejestrowania informacji (272)
    • Rejestrowanie informacji w pliku (273)
  • Debugger środowiska IDLE (273)
    • Go (274)
    • Step (274)
    • Over (274)
    • Out (275)
    • Quit (275)
    • Debugowanie programu sumującego liczby (275)
    • Punkty kontrolne (277)
  • Podsumowanie (279)
  • Pytania kontrolne (280)
  • Projekt praktyczny (281)
    • Debugowanie programu symulującego rzut monetą (281)

11. Pobieranie danych z internetu (283)

  • Projekt - mapIt.py z użyciem modułu webbrowser (284)
    • Etap 1. Ustalenie adresu URL (285)
    • Etap 2. Obsługa argumentów wiersza poleceń (285)
    • Etap 3. Obsługa zawartości schowka i uruchomienie przeglądarki WWW (286)
    • Pomysły na podobne programy (287)
  • Pobieranie plików z internetu za pomocą modułu requests (287)
    • Pobieranie strony internetowej za pomocą funkcji requests.get() (288)
    • Sprawdzenie pod kątem błędów (289)
  • Zapis pobranych plików na dysku twardym (290)
  • HTML (291)
    • Zasoby pomagające w poznawaniu języka HTML (291)
    • Krótkie wprowadzenie (292)
    • Wyświetlenie kodu źródłowego HTML strony internetowej (293)
    • Wyświetlenie oferowanych przez przeglądarkę WWW narzędzi programistycznych (293)
    • Użycie narzędzi programistycznych do wyszukiwania elementów HTML (296)
  • Przetwarzanie kodu HTML za pomocą modułu Beautiful Soup (297)
    • Utworzenie obiektu BeautifulSoup na podstawie kodu HTML (297)
    • Wyszukiwanie elementu za pomocą metody select() (298)
    • Pobieranie danych z atrybutów elementu (300)
  • Projekt - wyszukiwanie typu "szczęśliwy traf" w Google (301)
    • Etap 1. Pobranie argumentów wiersza poleceń i żądanie strony wyszukiwarki (301)
    • Etap 2. Wyszukanie wszystkich wyników (302)
    • Etap 3. Otworzenie kart przeglądarki WWW dla poszczególnych wyników (303)
    • Pomysły na podobne programy (304)
  • Projekt - pobranie wszystkich komiksów z witryny XKCD (304)
    • Etap 1. Projekt programu (306)
    • Etap 2. Pobranie strony internetowej (307)
    • Etap 3. Odszukanie i pobranie obrazu komiksu (307)
    • Etap 4. Zapis obrazu i odszukanie poprzedniego komiksu (308)
    • Pomysły na podobne programy (310)
  • Kontrolowanie przeglądarki WWW za pomocą modułu selenium (310)
    • Uruchomienie przeglądarki WWW kontrolowanej przez moduł selenium (310)
    • Wyszukanie elementów na stronie (311)
    • Kliknięcie na stronie (314)
    • Wypełnianie i wysyłanie formularzy sieciowych (314)
    • Symulacja naciśnięcia klawiszy specjalnych (315)
    • Klikanie przycisków przeglądarki WWW (316)
    • Więcej informacji na temat modułu selenium (316)
  • Podsumowanie (316)
  • Pytania kontrolne (316)
  • Projekty praktyczne (317)
    • Klient poczty działający w wierszu poleceń (318)
    • Pobieranie obrazów z witryny internetowej (318)
    • 2048 (318)
    • Weryfikacja łącza (318)

12. Praca z arkuszami kalkulacyjnymi programu Excel (319)

  • Dokumenty Excela (320)
  • Instalacja modułu openpyxl (320)
  • Odczyt dokumentów Excela (321)
    • Otwieranie istniejącego dokumentu Excela za pomocą openpyxl (321)
    • Pobranie arkuszy ze skoroszytu (322)
    • Pobieranie komórek z arkuszy (322)
    • Konwersja między literami kolumn i liczbami (324)
    • Pobieranie wierszy i kolumn z arkuszy (325)
    • Skoroszyty, arkusze i komórki (327)
  • Projekt - odczyt danych z arkusza kalkulacyjnego (327)
    • Etap 1. Odczyt danych z arkusza kalkulacyjnego (328)
    • Etap 2. Wypełnienie struktury danych (329)
    • Etap 3. Zapis wyników do pliku (331)
    • Pomysły na podobne programy (332)
  • Zapis dokumentów Excela (332)
    • Tworzenie i zapisywanie dokumentów Excela (332)
    • Tworzenie i usuwanie arkuszy kalkulacyjnych (333)
    • Zapis wartości w komórkach (334)
  • Projekt - uaktualnienie skoroszytu (335)
    • Etap 1. Przygotowanie struktury danych wraz z uaktualnionymi informacjami (336)
    • Etap 2. Sprawdzenie wszystkich wierszy i skorygowanie nieprawidłowych cen (337)
    • Pomysły na podobne programy (338)
  • Ustawienie stylu czcionki komórek (338)
  • Obiekt Font (339)
  • Formuły (341)
  • Dostosowanie wierszy i kolumn do własnych potrzeb (342)
    • Ustalenie wysokości wiersza i szerokości kolumny (343)
    • Łączenie i dzielenie komórki (343)
    • Zablokowane okienka (344)
  • Wykresy (345)
  • Podsumowanie (348)
  • Pytania kontrolne (348)
  • Projekty praktyczne (349)
    • Program tworzący tabliczkę mnożenia (349)
    • Program wstawiający pusty wiersz (350)
    • Program zmieniający położenie komórek arkusza kalkulacyjnego (350)
    • Przeniesienie zawartości pliku tekstowego do arkusza kalkulacyjnego (351)
    • Przeniesienie zawartości arkusza kalkulacyjnego do plików tekstowych (351)

13. Praca z dokumentami PDF i Worda (353)

  • Dokumenty w formacie PDF (353)
    • Wyodrębnianie tekstu z dokumentu PDF (354)
    • Deszyfrowanie dokumentu PDF (356)
    • Tworzenie dokumentów PDF (357)
  • Projekt - połączenie wybranych stron z wielu dokumentów PDF (362)
    • Etap 1. Wyszukanie wszystkich plików w formacie PDF (363)
    • Etap 2. Otworzenie poszczególnych dokumentów PDF (364)
    • Etap 3. Dodanie poszczególnych stron (364)
    • Etap 4. Zapis dokumentu wynikowego (365)
    • Pomysły na podobne programy (366)
  • Dokumenty procesora tekstu Microsoft Word (366)
    • Odczyt dokumentów Worda (367)
    • Pobranie pełnego tekstu z pliku w formacie .docx (368)
    • Nadawanie stylu akapitom i obiektom Run (369)
    • Utworzenie dokumentu Worda z niestandardowymi stylami (370)
    • Atrybuty obiektu Run (371)
    • Zapis dokumentów Worda (372)
    • Dodanie nagłówków (374)
    • Dodanie znaku podziału wiersza i strony (375)
    • Dodanie obrazu (376)
  • Podsumowanie (376)
  • Pytania kontrolne (377)
  • Projekty praktyczne (378)
    • PDF Paranoja (378)
    • Własne zaproszenia utworzone w dokumencie Worda (378)
    • Program łamiący hasło dokumentu PDF za pomocą ataku typu brute force (379)

14. Praca z plikami CSV i danymi JSON (381)

  • Moduł csv (382)
    • Obiekt Reader (383)
    • Użycie pętli for do odczytu danych z obiektu Reader (384)
    • Obiekt Writer (384)
    • Argumenty w postaci słów kluczowych delimiter i lineterminator (386)
  • Projekt - usunięcie nagłówka z pliku CSV (387)
    • Etap 1. Iteracja przez poszczególne pliki CSV (387)
    • Etap 2. Odczyt zawartości pliku CSV (388)
    • Etap 3. Zapis pliku CSV bez pierwszego wiersza (389)
    • Pomysły na podobne programy (390)
  • JSON i API (390)
  • Moduł json (392)
    • Odczyt danych JSON za pomocą funkcji loads() (392)
    • Zapis danych w formacie JSON za pomocą funkcji dumps() (392)
  • Projekt - pobieranie bieżących danych prognozy pogody (393)
    • Etap 1. Pobranie z wiersza poleceń informacji o lokalizacji (393)
    • Etap 2. Pobranie danych w formacie JSON (394)
    • Etap 3. Wczytanie danych w formacie JSON i wyświetlenie prognozy pogody (395)
    • Pomysły na podobne programy (397)
  • Podsumowanie (397)
  • Pytania kontrolne (397)
  • Projekty praktyczne (398)
    • Konwerter danych w formacie Excel do formatu CSV (398)

15. Czas, harmonogram zadań i uruchamianie programów (401)

  • Moduł time (402)
    • Funkcja time.time() (402)
    • Funkcja time.sleep() (403)
  • Zaokrąglanie liczb (404)
  • Projekt - superstoper (405)
    • Etap 1. Przygotowanie programu do pomiaru czasu (405)
    • Etap 2. Monitorowanie i wyświetlenie czasu okrążenia (406)
    • Pomysły na podobne programy (407)
  • Moduł datetime (408)
    • Typ danych timedelta (410)
    • Pauza aż do chwili osiągnięcia określonej daty (411)
    • Konwersja obiektu datetime na ciąg tekstowy (412)
    • Konwersja ciągu tekstowego na obiekt datetime (413)
  • Przegląd funkcji czasu w Pythonie (414)
  • Wielowątkowość (415)
    • Przekazanie argumentów funkcji docelowej dla nowego wątku (417)
    • Kwestie związane ze współbieżnością (418)
  • Projekt - wielowątkowy program pobierający dane z witryny XKCD (418)
    • Etap 1. Modyfikacja programu w celu użycia funkcji (419)
    • Etap 2. Utworzenie i uruchomienie wątków (420)
    • Etap 3. Zaczekanie na zakończenie działania wszystkich wątków (421)
  • Uruchamianie innych programów z poziomu Pythona (421)
    • Przekazanie funkcji Popen() argumentów wiersza poleceń (424)
    • Harmonogram zadań, launchd i cron (424)
    • Otwieranie witryn internetowych za pomocą Pythona (425)
    • Wykonywanie innych skryptów Pythona (425)
    • Otwieranie plików w ich aplikacjach domyślnych (426)
  • Projekt - prosty program odliczający czas (427)
    • Etap 1. Odliczanie (428)
    • Etap 2. Odtworzenie pliku dźwiękowego (428)
    • Pomysły na podobne programy (429)
  • Podsumowanie (430)
  • Pytania kontrolne (430)
  • Projekty praktyczne (431)
    • Ładniejszy stoper (431)
    • Oparty na harmonogramie program pobierający komiksy (431)

16. Wysyłanie wiadomości e-mail i tekstowych (433)

  • SMTP (434)
  • Wysyłanie wiadomości e-mail (434)
    • Nawiązanie połączenia z serwerem SMTP (435)
    • Wysłanie wiadomości SMTP typu "Witaj" (436)
    • Włączenie szyfrowania TLS (437)
    • Logowanie w serwerze SMTP (437)
    • Wysyłanie wiadomości e-mail (438)
    • Zamknięcie połączenia z serwerem SMTP (438)
  • IMAP (439)
  • Pobieranie i usuwanie wiadomości e-mail za pomocą protokołu IMAP (439)
    • Nawiązanie połączenia z serwerem IMAP (440)
    • Logowanie w serwerze IMAP (441)
    • Wyszukiwanie wiadomości e-mail (441)
    • Pobieranie wiadomości e-mail i oznaczanie jej jako przeczytanej (445)
    • Pobieranie adresów e-mail z niezmodyfikowanych wiadomości e-mail (447)
    • Pobranie treści z niezmodyfikowanej wiadomości e-mail (448)
    • Usuwanie wiadomości e-mail (449)
    • Zamknięcie połączenia z serwerem IMAP (450)
  • Projekt - wysyłanie wiadomości e-mail z przypomnieniami o składkach (451)
    • Etap 1. Otworzenie pliku Excela (451)
    • Etap 2. Wyszukanie wszystkich członków klubu, którzy zalegają ze składką (453)
    • Etap 3. Wysłanie spersonalizowanego przypomnienia (453)
  • Wysyłanie wiadomości tekstowych za pomocą Twilio (455)
    • Założenie konta w serwisie Twilio (456)
    • Wysyłanie wiadomości tekstowych (456)
  • Projekt - moduł typu "wyślij mi wiadomość SMS" (459)
  • Podsumowanie (460)
  • Pytania kontrolne (461)
  • Projekty praktyczne (461)
    • Program losowo przypisujący uciążliwe zadania (461)
    • Przypomnienie o parasolu (462)
    • Automatyczna rezygnacja z subskrypcji (462)
    • Kontrola komputera za pomocą wiadomości e-mail (462)

17. Praca z obrazami (465)

  • Podstawy teorii obrazu cyfrowego (465)
    • Kolory i wartości RGBA (466)
    • Współrzędne i krotki pudełek (467)
  • Praca z obrazami za pomocą modułu pillow (468)
    • Praca z typem danych Image (470)
    • Przycinanie obrazu (471)
    • Kopiowanie i wklejanie obrazów w innych obrazach (472)
    • Zmiana wielkości obrazu (474)
    • Rotacja i lustrzane odbicia obrazu (476)
    • Zmiana poszczególnych pikseli (478)
  • Projekt - dodanie logo (480)
    • Etap 1. Otworzenie pliku logo (481)
    • Etap 2. Iteracja przez wszystkie pliki i otworzenie obrazów (481)
    • Etap 3. Zmiana wielkości obrazu (482)
    • Etap 4. Dodanie obrazu logo i zapisanie zmian (483)
    • Pomysły na podobne programy (485)
  • Rysowanie na obrazach (486)
    • Rysowanie kształtów (486)
    • Umieszczanie tekstu na obrazie (488)
  • Podsumowanie (490)
  • Pytania kontrolne (491)
  • Projekty praktyczne (491)
    • Rozbudowa i poprawa projektów omówionych w rozdziale (491)
    • Odszukanie na dysku twardym katalogów zawierających zdjęcia (492)
    • Własne wizytówki (493)

18. Kontrolowanie klawiatury i myszy za pomocą automatyzacji GUI (495)

  • Instalacja modułu pyautogui (496)
  • Pozostajemy na kursie (496)
    • Zamknięcie wszystkiego przez wylogowanie się (497)
    • Pauzy i funkcja bezpiecznej awarii (497)
  • Kontrola poruszania myszą (498)
    • Poruszanie kursorem myszy (499)
    • Pobranie informacji o położeniu kursora myszy (500)
  • Projekt - gdzie teraz jest kursor myszy? (500)
    • Etap 1. Import modułu (501)
    • Etap 2. Konfiguracja kodu zamykającego program oraz pętli działającej w nieskończoność (501)
    • Etap 3. Pobranie i wyświetlenie bieżących współrzędnych kursora myszy (502)
  • Kontrola działania myszy (503)
    • Kliknięcie myszą (504)
    • Przeciąganie myszą (504)
    • Przewijanie myszą (506)
  • Praca z ekranem (508)
    • Wykonanie zrzutu ekranu (508)
    • Analiza zrzutu ekranu (509)
  • Projekt - rozbudowa programu mouseNow.py (509)
  • Rozpoznawanie obrazu (510)
  • Kontrola klawiatury (512)
    • Przekazanie ciągu tekstowego z klawiatury (512)
    • Nazwy klawiszy (513)
    • Naciskanie i zwalnianie klawiszy (514)
    • Kombinacja klawiszy (515)
  • Przegląd funkcji modułu pyautogui (516)
  • Projekt - automatyczne wypełnianie formularzy (517)
    • Etap 1. Ustalenie kroków do wykonania (518)
    • Etap 2. Przygotowanie współrzędnych (519)
    • Etap 3. Rozpoczęcie wpisywania danych (521)
    • Etap 4. Obsługa rozwijanych list i przycisków opcji (522)
    • Etap 5. Wysłanie formularza i oczekiwanie (523)
  • Podsumowanie (524)
  • Pytania kontrolne (525)
  • Projekty praktyczne (525)
    • Symulowanie zajętości (525)
    • Bot...
Kategoria: Programowanie
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-283-3261-4
Rozmiar pliku: 13 MB

BESTSELLERY

Kategorie: