Automatyzacja nudnych zadań z Pythonem. Nauka programowania

 
Automatyzacja nudnych zadań z Pythonem. Nauka programowania
Zawiera darmowych rozdziałów: 46
Stron w książce: 560 Udostępniono darmowych stron: 36
Data wydania: 2017-04-21Przejdź na stronę księgarni
Czytano online: 1Cena książki drukowanej: 89,00 zł
Język wydania: PolishWydawnictwo: Helion
Pobierz pdfCzytaj Alt+1Czytaj online
( Alt+1 )

Niech Twój komputer Cię wyręczy!

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

 

Albert Sweigart — programista, projektant oprogramowania i nauczyciel kodowania. Autor licznych książek o Pythonie dla początkujących. Sweigart urodził się w Houston, w stanie Teksas, a obecnie mieszka w San Francisco. Prowadzi blog dostępny pod adresem: http://coffeeghost.net.

Pobieranie danych ze strony Python

Jeśli interesuje cię pobieranie informacji ze strony, warto zapoznać się z darmowym rozdziałem. Skrypt pobierający dane ze strony internetowej jest dokładnie opisany, zapraszamy do przestudiowania przykładów z książki.

Pobieranie danych z HTML Python

Darmowy rozdział:

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)

 

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 komunikatora internetowego (526)
    • Samouczek dotyczący bota grającego w grę (526)

DODATKI (527)

A. Instalacja modułów firm trzecich (529)

  • Narzędzie pip (529)
  • Instalacja modułów firm trzecich (530)

B. Uruchamianie programów (533)

  • Wiersz shebang (533)
  • Uruchamianie programów Pythona w Windows (534)
  • Uruchamianie programów Pythona w systemach macOS i Linux (535)
  • Uruchamianie programów Pythona z wyłączonymi asercjami (536)

C. Odpowiedzi na pytania kontrolne (537)

  • Rozdział 1. (538)
  • Rozdział 2. (538)
  • Rozdział 3. (540)
  • Rozdział 4. (541)
  • Rozdział 5. (542)
  • Rozdział 6. (542)
  • Rozdział 7. (543)
  • Rozdział 8. (544)
  • Rozdział 9. (545)
  • Rozdział 10. (545)
  • Rozdział 11. (546)
  • Rozdział 12. (547)
  • Rozdział 13. (548)
  • Rozdział 14. (549)
  • Rozdział 15. (549)
  • Rozdział 16. (550)
  • Rozdział 17. (550)
  • Rozdział 18. (551)

Skorowidz (553)

Informatyka » Python - Programowanie

https://facebook.com/wiedzanaplus
Alt + 9
Pomoc ( Alt + 0 )
Loading...