Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00241 004960 15200473 na godz. na dobę w sumie
Automatyzacja nudnych zadań z Pythonem. Nauka programowania - książka
Automatyzacja nudnych zadań z Pythonem. Nauka programowania - książka
Autor: Liczba stron: 560
Wydawca: Helion Język publikacji: polski
ISBN: 978-83-283-3260-7 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> programowanie >> python - programowanie
Porównaj ceny (książka, ebook, audiobook).
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:

Niech Twój komputer Cię wyręczy!


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.
Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

Tytuł oryginału: Automate the Boring Stuff with Python: Practical Programming for Total Beginners Tłumaczenie: Robert Górczyński ISBN: 978-83-283-3260-7 Copyright © 2015 by Al Sweigart. Title of English-language original: Automate the Boring Stuff with Python, ISBN: 978-1-59327-599-0, published by No Starch Press. Polish-language edition copyright © 2017 by Helion S.A. All rights reserved. All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from the Publisher. Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji. Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli. Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce. Wydawnictwo HELION ul. Kościuszki 1c, 44-100 GLIWICE tel. 32 231 22 19, 32 230 98 63 e-mail: helion@helion.pl WWW: http://helion.pl (księgarnia internetowa, katalog książek) Pliki z przykładami omawianymi w książce można znaleźć pod adresem: ftp://ftp.helion.pl/przyklady/autopy.zip Drogi Czytelniku! Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres http://helion.pl/user/opinie/autopy Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję. Printed in Poland. • Kup książkę • Poleć książkę • Oceń książkę • Księgarnia internetowa • Lubię to! » Nasza społeczność 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 Poleć książkęKup książkę 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 6 S p i s t r e ś c i Poleć książkęKup książkę 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 S p i s t r e ś c i 7 Poleć książkęKup książkę 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 8 S p i s t r e ś c i Poleć książkęKup książkę 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 S p i s t r e ś c i 9 Poleć książkęKup książkę 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 10 S p i s t r e ś c i Poleć książkęKup książkę 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 S p i s t r e ś c i 11 Poleć książkęKup książkę 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 12 S p i s t r e ś c i Poleć książkęKup książkę 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 S p i s t r e ś c i 13 Poleć książkęKup książkę 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 14 S p i s t r e ś c i Poleć książkęKup książkę 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 S p i s t r e ś c i 15 Poleć książkęKup książkę 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 16 S p i s t r e ś c i Poleć książkęKup książkę 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 .........................................................
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Automatyzacja nudnych zadań z Pythonem. Nauka programowania
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: