Python dla DevOps Naucz sie bezlitosnie skutecznej automatyzacji.pdf

(2896 KB) Pobierz
Tytuł oryginału: Python for DevOps
Tłumaczenie: Radosław Meryk
ISBN: 978-83-283-6830-9
© 2020 Helion SA
Authorized Polish translation of the English edition of Python for DevOps ISBN 9781492057697 © 2020
Noah Gift, Kennedy Behrman, Alfredo Deza, Grig Gheorghiu
This translation is published and sold by permission of O’Reilly Media, Inc., which owns or controls all
rights to publish and sell the same.
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.
Autorzy oraz Helion SA 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. Autorzy oraz Helion SA nie ponoszą również
żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce.
Helion SA
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/pytdev.zip
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/pytdev
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
Przedmowa .............................................................................................................. 13
1. Podstawy Pythona dla DevOps ................................................................................... 21
Instalowanie i uruchamianie Pythona
Powłoka Pythona
Jupyter Notebooks
Programowanie proceduralne
Zmienne
Podstawowe operacje arytmetyczne
Komentarze
Funkcje wbudowane
Print
Range
Sterowanie przepływem kodu
If-elif-else
Pętle for
Pętle while
Obsługa wyjątków
Obiekty wbudowane
Czym jest obiekt?
Metody i atrybuty obiektu
Sekwencje
Funkcje
Anatomia funkcji
Funkcje jako obiekty
Funkcje anonimowe
Korzystanie z wyrażeń regularnych
Wyszukiwanie
Zbiory znaków
Klasy znaków
21
22
23
23
24
24
25
25
25
26
26
26
28
29
29
30
30
31
31
42
43
44
45
45
46
46
47
3
Kup książkę
Poleć książkę
Grupy
Grupy nazwane
Znajdź wszystko
Iterator wyszukiwania
Podstawianie
Kompilowanie
Leniwe wartościowanie
Generatory
Generatory składane
Dodatkowe funkcjonalności IPythona
Korzystanie z IPythona do uruchamiania poleceń powłoki Unix
Ćwiczenia
47
48
48
48
49
49
50
50
51
51
51
53
2. Automatyzacja zadań dotyczących plików i systemu plików ........................................ 55
Odczytywanie i zapisywanie plików
Korzystanie z wyrażeń regularnych do wyszukiwania tekstu
Przetwarzanie dużych plików
Szyfrowanie tekstu
Haszowanie z wykorzystaniem pakietu hashlib
Szyfrowanie z wykorzystaniem biblioteki cryptography
Moduł os
Zarządzanie plikami i katalogami za pomocą modułu os.path
Przeglądanie drzew katalogów za pomocą funkcji os.walk
Ścieżki jako obiekty modułu pathlib
55
63
65
66
66
67
68
69
73
73
3. Praca w wierszu polecenia ......................................................................................... 75
Praca w środowisku powłoki
Komunikacja z interpreterem za pomocą modułu sys
Wykonywanie zadań w systemie operacyjnym z wykorzystaniem modułu os
Inicjowanie procesów za pomocą modułu subprocess
Tworzenie narzędzi wiersza polecenia
Atrybut sys.argv
argparse
Pakiet click
Moduł fire
Implementowanie wtyczek
Studium przypadku: Turbodoładowanie Pythona
za pomocą narzędzi wiersza polecenia
Kompilator Just-in-Time (JIT) Numba
Korzystanie z GPU w Pythonie za pomocą frameworka CUDA
75
75
76
77
78
80
82
85
90
94
95
96
97
4
Spis treści
Poleć książkę
Kup książkę
Uruchamianie w Pythonie kodu na wielu rdzeniach i w wielu wątkach
z wykorzystaniem modułu Numba
Klasteryzacja z wykorzystaniem modułu KMeans
Ćwiczenia
98
100
101
4. Przydatne narzędzia systemu Linux ..........................................................................103
Narzędzia dyskowe
Pomiar wydajności
Partycje
Odczytywanie specyficznych informacji o urządzeniu
Narzędzia sieciowe
Tunelowanie SSH
Pomiar wydajności HTTP za pomocą Apache Benchmark (ab)
Testowanie obciążenia za pomocą narzędzia molotov
Narzędzia do badania CPU
Przeglądanie procesów za pomocą htop
Korzystanie z Bash i ZSH
Personalizacja powłoki Pythona
Rekurencyjny globbing
Wyszukiwanie i zamiana z pytaniami o potwierdzenie
Usuwanie tymczasowych plików Pythona
Wyświetlanie listy procesów i jej filtrowanie
Uniksowe znaczniki czasu
Łączenie możliwości Pythona z powłoką Bash i ZSH
Generator losowych haseł
Czy mój moduł istnieje?
Zmiana katalogów na ścieżki do modułów
Konwersja pliku CSV na JSON
Jednowierszowe skrypty w Pythonie
Debugery
Jak szybko działa ten fragment kodu?
strace
Ćwiczenia
Zadanie związane ze studium przypadku
104
104
106
107
108
108
109
110
112
113
115
116
116
117
118
118
119
120
120
121
121
122
123
123
124
125
127
127
5. Zarządzanie pakietami .............................................................................................129
Dlaczego tworzenie pakietów jest ważne?
Kiedy tworzenie pakietu może być niepotrzebne?
Wytyczne dotyczące tworzenia pakietów
Opisowe wersjonowanie
Rejestr zmian
Wybór strategii
Spis treści
Kup książkę
130
130
130
131
132
133
5
Poleć książkę
Zgłoś jeśli naruszono regulamin