Facebook - konwersja
Darmowy fragment

  • promocja

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

Wydawnictwo:
Format:
PDF
Data wydania:
27 kwietnia 2021
9265 pkt
punktów Virtualo

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

Komputer jest wszechstronnym narzędziem, które szybko i dokładnie wykona wiele pracochłonnych zadań. Wystarczy przekazać mu instrukcje w zrozumiałym dla niego języku. Takim jak Python, który jest łatwy do nauczenia się, pozwala pisać wyrazisty, zwięzły kod i stwarza imponujące możliwości dzięki niezliczonej liczbie rozszerzeń i bibliotek. Tymczasem wciąż wiele osób wykonuje żmudne i męczące zadania ręcznie: pracując z arkuszem kalkulacyjnym, plikami albo pocztą e-mail. Czas to zmienić - pracę, nad którą ślęczysz kilka dni, komputer wykona dokładniej w ciągu najwyżej kilku sekund!

Ta książka jest drugim wydaniem nietypowego podręcznika programowania w Pythonie. Dzięki niej nie zostaniesz mistrzem świata w kodowaniu, za to nauczysz się tworzyć programy, które oszczędzą Ci mnóstwo czasu i wysiłku. Nawet jeśli nigdy nie programowałeś, błyskawicznie opanujesz podstawy i zapoznasz się z obszerną biblioteką Pythona przeznaczoną do automatyzacji takich zadań jak pobieranie danych z witryn internetowych, odczytywanie dokumentów oraz operacje wymagające klikania myszą i wpisywania tekstu. To wydanie zawiera nowy rozdział poświęcony weryfikacji danych wejściowych, a także samouczki dotyczące automatyzacji pracy z arkuszami Google i pocztą Gmail oraz podpowiedzi związane z automatycznym uaktualnianiem plików CVS.

Sprawdź, jak zautomatyzować:

  • wyszukiwanie ciągu znaków w pliku lub wielu plikach
  • tworzenie, uaktualnianie, przenoszenie i zmiany nazw plików oraz katalogów
  • wyszukiwanie treści w sieci WWW oraz ich pobieranie
  • podział, łączenie, nakładanie znaku wodnego i szyfrowanie dokumentów PDF
  • wysyłanie powiadomień za pomocą wiadomości e-mail oraz SMS
  • wypełnianie formularzy internetowych

Nudne i męczące? Zleć to Pythonowi!

Spis treści


Podziękowania 19

Wprowadzenie 21

  • Do kogo jest skierowana ta książka? 22
  • Konwencje 23
  • Czym jest programowanie? 23
    • Co to jest Python? 24
    • Programiści nie muszą dobrze znać matematyki 24
    • Nigdy nie jest za późno na rozpoczęcie nauki programowania 25
    • Programowanie to aktywność kreatywna 26
  • O tej książce 26
  • Pobieranie i instalacja Pythona 29
  • Pobieranie i instalowanie edytora tekstu Mu 30
  • Uruchomienie edytora Mu 30
  • Uruchomienie środowiska IDLE 31
  • Powłoka interaktywna 31
  • Instalowanie modułów zewnętrznych 33
  • Jak otrzymać pomoc? 33
  • Sprytne zadawanie pytań dotyczących programowania 34
  • Podsumowanie 35

CZĘŚĆ I. PODSTAWY PROGRAMOWANIA W PYTHONIE

1. Podstawy Pythona 39

  • Wprowadzanie wyrażeń w powłoce interaktywnej 40
  • Liczby całkowite, zmiennoprzecinkowe i ciągi tekstowe 43
  • Konkatenacja i replikacja ciągu tekstowego 43
  • Przechowywanie wartości w zmiennych 45
    • Polecenia przypisania 45
    • Nazwy zmiennych 46
  • Twój pierwszy program 48
  • Analiza programu 49
    • Komentarze 49
    • Funkcja print() 50
    • Funkcja input() 50
    • Wyświetlanie imienia użytkownika 51
    • Funkcja len() 51
    • Funkcje str(), int() i float() 52
  • Podsumowanie 55
  • Pytania kontrolne 56

2. Kontrola przepływu działania programu 59

  • Wartości boolowskie 60
  • Operatory porównania 61
  • Operatory boolowskie 63
    • Binarne operatory boolowskie 63
    • Operator not 64
  • Łączenie operatorów boolowskich i porównania 64
  • Elementy kontroli przepływu działania programu 65
    • Warunek 65
    • Blok kodu 66
  • Wykonywanie programu 66
  • Polecenia kontroli przepływu działania programu 67
    • Polecenie if 67
    • Polecenie else 68
    • Polecenie elif 69
    • Pętla while 74
    • Polecenie break 78
    • Polecenie continue 79
    • Pętla for i funkcja range() 83
  • Import modułów 87
    • Polecenie from import 88
  • Wcześniejsze zakończenie programu za pomocą sys.exit() 88
  • Krótki program - odgadnij liczbę 89
  • Krótki program - kamień, papier, nożyce 91
  • Podsumowanie 95
  • Pytania kontrolne 95

3. Funkcje 97

  • Polecenie def wraz z parametrami 99
    • Definiowanie, wywoływanie, przekazywanie, argument i parametr 99
  • Wartość zwrotna funkcji i polecenie return 100
  • Wartość None 102
  • Argumenty w postaci słów kluczowych i funkcja print() 102
  • Stos wywołań 104
  • Zasięgi lokalny i globalny 106
    • Zmienne lokalne nie mogą być używane w zasięgu globalnym 107
    • W zasięgu lokalnym nie można używać zmiennych zdefiniowanych w innych zasięgach lokalnych 108
    • Zmienna globalna może być używana w zasięgu lokalnym 109
    • Zmienna lokalna i globalna o takiej samej nazwie 109
  • Polecenie global 110
  • Obsługa wyjątków 113
  • Krótki program - zigzag 115
  • Podsumowanie 117
  • Pytania kontrolne 117
  • Projekt praktyczny 118
    • Problem Collatza 118
    • Weryfikacja danych wyjściowych 119

4. Listy 121

  • Typ danych List 121
    • Pobieranie poszczególnych wartości listy za pomocą indeksu 122
    • Indeks ujemny 124
    • Pobieranie podlisty za pomocą wycinka 124
    • Pobieranie długości listy za pomocą polecenia len() 125
    • Zmiana wartości na liście za pomocą indeksu 125
    • Konkatenacja i replikacja listy 126
    • Usunięcie wartości listy za pomocą polecenia del 126
  • Praca z listą 126
    • Użycie pętli for wraz z listą 128
    • Operatory in i not in 129
    • Sztuczka pozwalająca na wiele jednoczesnych operacji przypisania 130
    • Używanie funkcji enumerate() z listą 131
    • Używanie funkcji random.choice() i random.shuffle() z listą 131
  • Operatory przypisania i zmiany wartości 132
  • Metody 133
    • Odszukanie wartości na liście za pomocą metody index() 133
    • Dodanie wartości do listy za pomocą metod append() i insert() 134
    • Usuwanie wartości z listy za pomocą metody remove() 135
    • Sortowanie wartości listy za pomocą metody sort() 136
    • Odwrócenie kolejności wartości listy za pomocą metody reverse() 137
  • Przykładowy program - Magic 8 Ball utworzony za pomocą listy 137
  • Typy danych w postaci sekwencji 139
    • Modyfikowalne i niemodyfikowalne typy danych 139
    • Typ danych krotka 142
    • Konwersja typu za pomocą funkcji list() i tuple() 143
  • Odwołania 143
    • Identyfikator i funkcja id() 145
    • Przekazywanie odwołania 147
    • Funkcje copy() i deepcopy() modułu copy 147
  • Krótki program - gra w życie 148
  • Podsumowanie 153
  • Pytania kontrolne 154
  • Projekty praktyczne 154
    • Kod z przecinkami 155
    • Rzut monetą 155
    • Obraz na podstawie macierzy 156

5. Słowniki i strukturyzacja danych 157

  • Typ danych Dictionary 157
    • Słownik kontra lista 158
    • Metody keys(), values() i items() 160
    • Sprawdzenie, czy klucz lub wartość istnieją w słowniku 162
    • Metoda get() 162
    • Metoda setdefault() 163
  • Eleganckie wyświetlanie danych 164
  • Użycie struktur danych do modelowania rzeczywistych rozwiązań 165
    • Plansza do gry w kółko i krzyżyk 166
    • Zagnieżdżone słowniki i listy 171
  • Podsumowanie 173
  • Pytania kontrolne 173
  • Projekty praktyczne 173
    • Weryfikacja słownika modelującego grę w szachy 174
    • Inwentarz w grze fantasy 174
    • Funkcja konwertująca listę na słownik dla inwentarza w grze fantasy 175

6. Operacje na ciągach tekstowych 177

  • Praca z ciągami tekstowymi 177
    • Literały ciągu tekstowego 178
    • Indeksowanie i wycinanie ciągów tekstowych 181
    • Użycie operatorów in i not in podczas pracy z ciągami tekstowymi 182
  • Umieszczenie ciągu tekstowego w innym 182
  • Użyteczne metody ciągu tekstowego 183
    • Metody upper(), lower(), isupper() i islower() 183
    • Metody typu isX() 185
    • Metody startswith() i endswith() 187
    • Metody join() i split() 188
    • Podział tekstu za pomocą metody partition() 189
    • Wyrównywanie tekstu za pomocą metod rjust(), ljust() i center() 190
    • Usunięcie białych znaków za pomocą strip(), rstrip() i lstrip() 192
  • Wartości liczbowe znaków pobrane za pomocą funkcji ord() i chr() 193
  • Kopiowanie i wklejanie ciągów tekstowych za pomocą modułu pyperclip 194
  • Projekt - schowek dla wielu ciągów tekstowych 195
    • Etap 1. Projekt programu i struktur danych 195
    • Etap 2. Obsługa argumentów wiersza poleceń 196
    • Etap 3. Skopiowanie odpowiedniej wiadomości 196
  • Projekt - dodanie wypunktowania do kodu znaczników Wiki 197
    • Etap 1. Kopiowanie i wklejanie ze schowka 198
    • Etap 2. Rozdzielenie wierszy tekstu i dodanie gwiazdki 199
    • Etap 3. Złączenie zmodyfikowanych wierszy 200
  • Krótki program - świńska łacina 200
  • Podsumowanie 204
  • Pytania kontrolne 205
  • Projekt praktyczny 206
    • Wyświetlenie tabeli 206
    • Symulator Zombie Dice 206

CZĘŚĆ II. AUTOMATYZACJA ZADAŃ

7. Dopasowanie wzorca za pomocą wyrażeń regularnych 213

  • Wyszukiwanie wzorców w tekście bez użycia wyrażeń regularnych 214
  • Wyszukiwanie wzorców w tekście z użyciem wyrażeń regularnych 216
    • Tworzenie obiektów wyrażeń regularnych 217
    • Dopasowanie obiektów wyrażeń regularnych 218
    • Przegląd dopasowania za pomocą wyrażenia regularnego 218
  • Jeszcze więcej o dopasowaniach wzorca za pomocą wyrażeń regularnych 219
    • Grupowanie z użyciem nawiasów 219
    • Dopasowanie wielu grup za pomocą potoku 221
    • Opcjonalne dopasowanie za pomocą znaku zapytania 222
    • Dopasowanie zera wystąpień lub większej liczby wystąpień za pomocą gwiazdki 222
    • Dopasowanie jednego wystąpienia lub wielu wystąpień za pomocą plusa 223
    • Dopasowanie określonych powtórzeń za pomocą nawiasu klamrowego 224
  • Dopasowanie zachłanne i niezachłanne 225
  • Metoda findall() 225
  • Klasy znaków 226
  • Utworzenie własnej klasy znaków 227
  • Znaki ^ oraz $ 228
  • Znak wieloznaczny 229
    • Dopasowanie wszystkiego za pomocą kropki i gwiazdki 229
    • Dopasowanie znaku nowego wiersza za pomocą kropki 230
  • Przegląd znaków stosowanych w wyrażeniach regularnych 231
  • Dopasowanie bez uwzględnienia wielkości znaków 232
  • Zastępowanie ciągu tekstowego za pomocą metody sub() 232
  • Zarządzanie skomplikowanymi wyrażeniami regularnymi 233
  • Połączenie opcji re.IGNORECASE, re.DOTALL i re.VERBOSE 234
  • Projekt - wyodrębnianie numeru telefonu i adresu e-mail 235
    • Etap 1. Utworzenie wyrażenia regularnego dopasowującego numer telefonu 236
    • Etap 2. Utworzenie wyrażenia regularnego dopasowującego adres e-mail 237
    • Etap 3. Wyszukanie wszystkich dopasowań w tekście umieszczonym w schowku 237
    • Etap 4. Połączenie dopasowań w celu utworzenia pojedynczego ciągu tekstowego do umieszczenia w schowku 238
    • Uruchomienie programu 239
    • Pomysły na podobne programy 239
  • Podsumowanie 240
  • Pytania kontrolne 240
  • Projekty praktyczne 242
    • Wykrywanie daty 242
    • Wykrywanie silnego hasła 242
    • Oparta na wyrażeniu regularnym wersja metody strip() 243

8. Weryfikacja danych wejściowych 245

  • Moduł PyInputPlus 246
    • Argumenty w postaci słów kluczowych min, max, greaterThan i lessThan 248
    • Argument w postaci słowa kluczowego blank 249
    • Argumenty w postaci słów kluczowych limit, timeout i default 250
    • Argumenty w postaci słów kluczowych allowRegexes i blockRegexes 251
    • Przekazanie do inputCustom() niestandardowej funkcji weryfikacji danych wejściowych 252
  • Projekt - zajęcie kogoś godzinami 253
  • Projekt - quiz z tabliczki mnożenia 255
  • Podsumowanie 257
  • Pytania kontrolne 258
  • Projekty praktyczne 258
    • Program przygotowujący kanapki 259
    • Własna wersja quizu z zakresu tabliczki mnożenia 259

9. Odczyt i zapis plików 261

  • Pliki i ścieżki dostępu do plików 261
    • Lewy ukośnik w systemie Windows, prawy ukośnik w systemach macOS i Linux 262
    • Używanie operatora / do złączania ścieżek dostępu 264
    • Bieżący katalog roboczy 266
    • Katalog domowy 267
    • Względne kontra bezwzględne ścieżki dostępu 267
    • Tworzenie nowych katalogów za pomocą funkcji os.makedirs() 267
    • Obsługa bezwzględnych i względnych ścieżek dostępu 268
    • Pobieranie fragmentów ścieżki dostępu do pliku 270
    • Ustalenie wielkości pliku i zawartości katalogu 273
    • Modyfikowanie listy plików za pomocą wzorców glob 274
    • Sprawdzenie poprawności ścieżki dostępu 276
  • Proces odczytu i zapisu pliku 277
    • Otwieranie pliku za pomocą funkcji open() 278
    • Odczyt zawartości pliku 279
    • Zapis pliku 280
  • Zapis zmiennych za pomocą modułu shelve 281
  • Zapis zmiennych za pomocą funkcji pprint.pformat() 283
  • Projekt - generowanie losowych plików quizu 284
    • Etap 1. Umieszczenie danych quizu w słowniku 285
    • Etap 2. Utworzenie pliku quizu i losowe umieszczenie odpowiedzi na pytania 286
    • Etap 3. Utworzenie odpowiedzi 287
    • Etap 4. Zapis treści w plikach quizu i odpowiedzi 288
  • Projekt - schowek przechowujący wiele elementów 289
    • Etap 1. Komentarze i konfiguracja pliku binarnego 290
    • Etap 2. Zapis zawartości schowka wraz ze słowem kluczowym 291
    • Etap 3. Wyświetlenie słów kluczowych i wczytanie treści powiązanej ze słowem kluczowym 291
  • Podsumowanie 292
  • Pytania kontrolne 293
  • Projekty praktyczne 293
    • Rozbudowa programu schowka przechowującego wiele elementów 294
    • Program Mad Libs 294
    • Wyszukiwanie wyrażenia regularnego 294

10. Organizacja plików 295

  • Moduł shutil 296
    • Kopiowanie plików i katalogów 296
    • Przenoszenie oraz zmiana nazwy plików i katalogów 297
    • Trwałe usunięcie plików i katalogów 298
    • Bezpieczne usuwanie danych za pomocą modułu send2trash 299
  • Przejście przez drzewo katalogu 300
  • Kompresja plików za pomocą modułu zipfile 302
    • Odczyt pliku w formacie ZIP 302
    • Wyodrębnianie plików z archiwum ZIP 303
    • Utworzenie i dodawanie elementów do archiwum ZIP 304
  • Projekt - zmiana plików z datami w stylu amerykańskim na daty w stylu europejskim 304
    • Etap 1. Utworzenie wyrażenia regularnego dla daty w stylu amerykańskim 305
    • Etap 2. Identyfikacja w nazwie pliku fragmentów określających datę 307
    • Etap 3. Utworzenie nowej nazwy pliku i zmiana nazw plików 308
    • Pomysły na podobne programy 309
  • Projekt - utworzenie archiwum ZIP będącego kopią katalogu 309
    • Etap 1. Ustalenie nazwy pliku archiwum ZIP 309
    • Etap 2. Utworzenie nowego archiwum ZIP 310
    • Etap 3. Przejście przez drzewo katalogu i dodanie plików do archiwum ZIP 311
    • Pomysły na podobne programy 312
  • Podsumowanie 312
  • Pytania kontrolne 313
  • Projekty praktyczne 313
    • Kopiowanie selektywne 314
    • Usunięcie niepotrzebnych plików 314
    • Wypełnienie przerw 314

11. Usuwanie błędów 315

  • Zgłaszanie wyjątku 316
  • Pobranie stosu wywołań w postaci ciągu tekstowego 318
  • Asercje 319
    • Użycie asercji w projekcie symulacji ulicznej sygnalizacji świetlnej 321
  • Rejestracja danych 322
    • Użycie modułu logging 323
    • Nie przeprowadzaj procesu usuwania błędów za pomocą funkcji print() 325
    • Poziomy rejestrowania informacji 325
    • Wyłączenie rejestrowania informacji 326
    • Rejestrowanie informacji w pliku 327
  • Debugger edytora Mu 327
    • Kontynuuj 328
    • Krok do wewnątrz 329
    • Przekrocz 329
    • Krok na zewnątrz 329
    • Zatrzymaj 329
    • Debugowanie programu sumującego liczby 329
    • Punkty kontrolne 331
  • Podsumowanie 333
  • Pytania kontrolne 333
  • Projekt praktyczny 334
    • Debugowanie programu symulującego rzut monetą 334

12. Pobieranie danych z internetu 337

  • Projekt - mapIt.py z użyciem modułu webbrowser 338
    • Etap 1. Ustalenie adresu URL 339
    • Etap 2. Obsługa argumentów wiersza poleceń 339
    • Etap 3. Obsługa zawartości schowka i uruchomienie przeglądarki WWW 340
    • Pomysły na podobne programy 341
  • Pobieranie plików z internetu za pomocą modułu requests 341
    • Pobieranie strony internetowej za pomocą funkcji requests.get() 342
    • Sprawdzenie pod kątem błędów 343
  • Zapis pobranych plików na dysku twardym 344
  • HTML 345
    • Zasoby pomagające w poznawaniu języka HTML 346
    • Krótkie wprowadzenie 346
    • Wyświetlenie kodu źródłowego HTML strony internetowej 347
    • Wyświetlenie oferowanych przez przeglądarkę WWW narzędzi programistycznych 348
    • Użycie narzędzi programistycznych do wyszukiwania elementów HTML 350
  • Przetwarzanie kodu HTML za pomocą modułu bs4 352
    • Utworzenie obiektu BeautifulSoup na podstawie kodu HTML 352
    • Wyszukiwanie elementu za pomocą metody select() 353
    • Pobieranie danych z atrybutów elementu 355
  • Projekt - wyświetlenie wyników wyszukiwania 356
    • Etap 1. Pobranie argumentów wiersza poleceń i żądanie strony wyszukiwarki 357
    • Etap 2. Wyszukanie wszystkich wyników 357
    • Etap 3. Otworzenie kart przeglądarki WWW dla poszczególnych wyników 358
    • Pomysły na podobne programy 359
  • Projekt - pobranie wszystkich komiksów z witryny XKCD 360
    • Etap 1. Projekt programu 361
    • Etap 2. Pobranie strony internetowej 362
    • Etap 3. Odszukanie i pobranie obrazu komiksu 363
    • Etap 4. Zapis obrazu i odszukanie poprzedniego komiksu 363
    • Pomysły na podobne programy 365
  • Kontrolowanie przeglądarki WWW za pomocą modułu selenium 365
    • Uruchomienie przeglądarki WWW kontrolowanej przez moduł selenium 366
    • Wyszukanie elementów na stronie 368
    • Kliknięcie na stronie 370
    • Wypełnianie i wysyłanie formularzy sieciowych 370
    • Symulacja naciśnięcia klawiszy specjalnych 371
    • Klikanie przycisków przeglądarki WWW 372
    • Więcej informacji na temat modułu selenium 372
  • Podsumowanie 372
  • Pytania kontrolne 373
  • Projekty praktyczne 374
    • Klient poczty działający w wierszu poleceń 374
    • Pobieranie obrazów z witryny internetowej 374
    • 2048 374
    • Weryfikacja łącza 375

13. Praca z arkuszami kalkulacyjnymi programu Excel 377

  • Dokumenty Excela 378
  • Instalacja modułu openpyxl 378
  • Odczyt dokumentów Excela 379
    • Otwieranie istniejącego dokumentu Excela za pomocą openpyxl 379
    • Pobranie arkuszy ze skoroszytu 380
    • Pobieranie komórek z arkuszy 380
    • Konwersja między literami kolumn i liczbami 382
    • Pobieranie wierszy i kolumn z arkuszy 383
    • Skoroszyty, arkusze i komórki 385
  • Projekt - odczyt danych z arkusza kalkulacyjnego 385
    • Etap 1. Odczyt danych z arkusza kalkulacyjnego 386
    • Etap 2. Wypełnienie struktury danych 387
    • Etap 3. Zapis wyników do pliku 389
    • Pomysły na podobne programy 390
  • Zapis dokumentów Excela 390
    • Tworzenie i zapisywanie dokumentów Excela 391
    • Tworzenie i usuwanie arkuszy kalkulacyjnych 391
    • Zapis wartości w komórkach 392
  • Projekt - uaktualnienie skoroszytu 393
    • Etap 1. Przygotowanie struktury danych wraz z uaktualnionymi informacjami 394
    • Etap 2. Sprawdzenie wszystkich wierszy i skorygowanie nieprawidłowych cen 395
    • Pomysły na podobne programy 396
  • Ustawienie stylu czcionki komórek 396
  • Obiekt Font 397
  • Formuły 398
  • Dostosowanie wierszy i kolumn do własnych potrzeb 400
    • Ustalenie wysokości wiersza i szerokości kolumny 400
    • Łączenie i dzielenie komórki 401
    • Zablokowane okienka 402
  • Wykresy 403
  • Podsumowanie 404
  • Pytania kontrolne 405
  • Projekty praktyczne 406
    • Program tworzący tabliczkę mnożenia 406
    • Program wstawiający pusty wiersz 407
    • Program zmieniający położenie komórek arkusza kalkulacyjnego 407
    • Przeniesienie zawartości pliku tekstowego do arkusza kalkulacyjnego 408
    • Przeniesienie zawartości arkusza kalkulacyjnego do plików tekstowych 409

14. Praca z Arkuszami Google 411

  • Instalacja i konfiguracja EZSheets 411
    • Pobranie danych uwierzytelniających i plików tokenów 412
    • Unieważnienie pliku danych uwierzytelniających 414
  • Obiekt skoroszytu 415
    • Tworzenie, przekazywanie i wyświetlanie skoroszytów 415
    • Atrybuty skoroszytu 417
    • Pobieranie i przekazywanie skoroszytów 418
    • Usuwanie skoroszytu 419
  • Obiekt arkusza 419
    • Odczytywanie i zapisywanie danych 420
    • Tworzenie i usuwanie arkuszy 425
    • Kopiowanie arkusza 426
  • Praca z ograniczeniami nakładanymi przez Arkusze Google 427
  • Podsumowanie 428
  • Pytania kontrolne 428
  • Projekty praktyczne 429
    • Pobieranie danych Formularzy Google 429
    • Konwertowanie skoroszytów na inne formaty 429
    • Wyszukiwanie błędów w skoroszytach 429

15. Praca z dokumentami PDF i Worda 431

  • Dokumenty w formacie PDF 431
    • Wyodrębnianie tekstu z dokumentu PDF 432
    • Deszyfrowanie dokumentu PDF 434
    • Tworzenie dokumentów PDF 435
  • Projekt - połączenie wybranych stron z wielu dokumentów PDF 440
    • Etap 1. Wyszukanie wszystkich plików w formacie PDF 441
    • Etap 2. Otworzenie poszczególnych dokumentów PDF 442
    • Etap 3. Dodanie poszczególnych stron 442
    • Etap 4. Zapis dokumentu wynikowego 443
    • Pomysły na podobne programy 444
  • Dokumenty procesora tekstu Microsoft Word 444
    • Odczyt dokumentów Worda 445
    • Pobranie pełnego tekstu z pliku w formacie .docx 446
    • Nadawanie stylu akapitom i obiektom Run 447
    • Utworzenie dokumentu Worda z niestandardowymi stylami 449
    • Atrybuty obiektu Run 449
    • Zapis dokumentów Worda 451
    • Dodanie nagłówków 453
    • Dodanie znaku podziału wiersza i strony 454
    • Dodanie obrazu 454
  • Tworzenie dokumentu PDF na podstawie dokumentu Worda 455
  • Podsumowanie 455
  • Pytania kontrolne 456
  • Projekty praktyczne 457
    • PDF Paranoja 457
    • Własne zaproszenia utworzone w dokumencie Worda 457
    • Program łamiący hasło dokumentu PDF za pomocą ataku typu brute force 458

16. Praca z plikami CSV i danymi JSON 461

  • Moduł csv 462
    • Obiekt reader 463
    • Użycie pętli for do odczytu danych z obiektu reader 464
    • Obiekt writer 464
    • Argumenty w postaci słów kluczowych delimiter i lineterminator 466
    • Obiekty CSV DictReader i DictWriter 467
  • Projekt - usunięcie nagłówka z pliku CSV 469
    • Etap 1. Iteracja przez poszczególne pliki CSV 470
    • Etap 2. Odczyt zawartości pliku CSV 470
    • Etap 3. Zapis pliku CSV bez pierwszego wiersza 471
    • Pomysły na podobne programy 472
  • JSON i API 473
  • Moduł json 474
    • Odczyt danych JSON za pomocą funkcji loads() 474
    • Zapis danych w formacie JSON za pomocą funkcji dumps() 475
  • Projekt - pobieranie bieżących danych prognozy pogody 475
    • Etap 1. Pobranie z wiersza poleceń informacji o lokalizacji 476
    • Etap 2. Pobranie danych w formacie JSON 477
    • Etap 3. Wczytanie danych w formacie JSON i wyświetlenie prognozy pogody 478
    • Pomysły na podobne programy 480
  • Podsumowanie 480
  • Pytania kontrolne 481
  • Projekty praktyczne 481
    • Konwerter danych w formacie Excel do formatu CSV 481

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

  • Moduł time 483
    • Funkcja time.time() 484
    • Funkcja time.sleep() 485
  • Zaokrąglanie liczb 486
  • Projekt - superstoper 486
    • Etap 1. Przygotowanie programu do pomiaru czasu 487
    • Etap 2. Monitorowanie i wyświetlenie czasu okrążenia 488
    • Pomysły na podobne programy 489
  • Moduł datetime 490
    • Typ danych timedelta 491
    • Pauza aż do chwili osiągnięcia określonej daty 493
    • Konwersja obiektu datetime na ciąg tekstowy 493
    • Konwersja ciągu tekstowego na obiekt datetime 495
  • Przegląd funkcji czasu w Pythonie 495
  • Wielowątkowość...
Kategoria: Programowanie
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-283-7490-4
Rozmiar pliku: 10 MB

BESTSELLERY

Menu

Zamknij