pytprw-5.pdf

(552 KB) Pobierz
Python. Projekty do wykorzystania
Python. Projekty
do wykorzystania
Autor: James O. Knowlton
T³umaczenie: Marek Pêtlicki
ISBN: 978-83-246-2200-9
Format: 172 × 245, stron: 264
Poznaj moc Pythona!
Jak przygotowaæ œrodowisko pracy?
Jak wykorzystaæ us³ugi systemu operacyjnego?
Jak testowaæ kod?
Historia jêzyka Python siêga pocz¹tku lat 90. Od tego czasu zdoby³ on sobie ogromn¹
popularnoœæ i jest stosowany w wielu rozwi¹zaniach. Jego wydajnoœæ zosta³a doceniona
równie¿ przez firmê Google podczas tworzenia platformy Google App Engine. Python
w przeciwieñstwie do wielu innych jêzyków nie wymusza jednego sposobu programowania.
U¿ywaj¹c go, mo¿esz programowaæ obiektowo, strukturalnie i funkcjonalnie. Je¿eli do
tego dodaæ automatyczny system zarz¹dzania pamiêci¹ oraz dynamicznie sprawdzane
typy, rozwi¹zanie to nabiera kusz¹cych rumieñców.
Dziêki tej ksi¹¿ce dowiesz siê, jak przygotowaæ swoje œrodowisko pracy i rozpocz¹æ
przygodê z jêzykiem Python. Autor zagwarantuje Ci, ¿e bêdzie to kszta³c¹ca przygoda.
Na konkretnych, praktycznych projektach poka¿e Ci, jak wykorzystaæ potencja³ drzemi¹cy
w tym jêzyku. Wœród przyk³adów znajdziesz opis takich zagadnieñ, jak wykonywanie
migawek katalogów i plików, projektowanie katalogu filmów i systemu testuj¹cego
wydajnoœæ WWW czy te¿ tworzenie systemu gromadzenia opinii. Najwa¿niejsze jest
jednak to, ¿e ka¿de z tych rozwi¹zañ mo¿esz bez trudu zaadaptowaæ do potrzeb
Twojego projektu. Ksi¹¿ka ta stanowi œwietn¹ lekturê zarówno dla zaawansowanych
programistów Pythona, jak i tych, którzy chc¹ dopiero rozpocz¹æ z nim pracê!
Instalacja œrodowiska
Sk³adnia jêzyka
Operatory, wyra¿enia, instrukcje
Sterowanie przebiegiem programu
Wykorzystanie modu³ów
Praca z systemem plików
Po³¹czenie z baz¹ danych
Uruchomienie serwera WWW w Pythonie
Konfiguracja mod_python dla serwera Apache
Interakcja z systemem operacyjnym
Testowanie
U³atwiaj sobie pracê – korzystaj z bogactwa praktycznych projektów!
400257964.001.png 400257964.002.png
Spis treści
O autorze ...................................................................................................................................................11
Podziękowania ......................................................................................................................................... 13
Wstęp ........................................................................................................................................................ 15
Rozdział 1. Wstęp do Pythona ...................................................................................................................21
Pierwsze kroki .............................................................................................................. 21
Pobranie i instalacja Pythona ................................................................................... 21
Interpreter Pythona ................................................................................................. 22
Środowisko edycyjno-wykonawcze ............................................................................. 22
Struktura składniowa .................................................................................................... 23
Słowa kluczowe ...................................................................................................... 24
Wiersze i wcięcia .................................................................................................... 24
Typy danych i identyfikatory ...................................................................................... 24
Operatory .................................................................................................................... 26
Wyrażenia i instrukcje ................................................................................................... 27
Wyrażenia ............................................................................................................... 27
Instrukcje ............................................................................................................... 28
Iteracje i podejmowanie decyzji ..................................................................................... 28
Iteracje .................................................................................................................. 29
Podejmowanie decyzji .............................................................................................. 30
Funkcje ....................................................................................................................... 31
Definicja funkcji ...................................................................................................... 31
Moduły ........................................................................................................................ 32
Importowanie modułów ............................................................................................ 32
W jaki sposób Python wyszukuje ładowane moduły .................................................... 33
Klasy ........................................................................................................................... 34
Podsumowanie ............................................................................................................ 35
6
Python. Projekty do wykorzystania
Część I Projekty
37
Rozdział 2. Program do wykonywania migawek katalogów i plików .................................................. 39
Używanie programu ...................................................................................................... 40
Tworzenie migawki .................................................................................................. 40
Wyświetlanie nazw plików migawek .......................................................................... 41
Porównywanie migawek ........................................................................................... 41
Pomoc ................................................................................................................... 43
Koniec pracy ........................................................................................................... 43
Podsumowanie funkcji programu .............................................................................. 43
Projekt ........................................................................................................................44
Elementy aplikacji ................................................................................................... 45
Program główny ...................................................................................................... 46
Moduły ................................................................................................................... 46
Analiza kodu ................................................................................................................ 47
Snapshot.py ........................................................................................................... 47
snapshothelper.py .................................................................................................. 54
Testowanie .................................................................................................................. 60
Możliwości rozbudowy programu .................................................................................... 61
Podsumowanie ............................................................................................................ 61
Rozdział 3. System katalogu filmów DVD ............................................................................................... 63
Wykorzystanie programu ............................................................................................... 64
Instalacja bazy danych MySQL ................................................................................. 64
Dodawanie filmu do bazy ......................................................................................... 65
Przeszukiwanie bazy filmów ..................................................................................... 66
Modyfikacja rekordu w bazie .................................................................................... 69
Usunięcie rekordu ................................................................................................... 73
Eksport rekordów do pliku CSV ................................................................................ 74
Projekt ........................................................................................................................74
Elementy aplikacji ................................................................................................... 75
Moduły ................................................................................................................... 75
Omówienie kodu .......................................................................................................... 77
dvd.py .................................................................................................................... 78
add_dvd.py ............................................................................................................. 80
lookup_dvds.py ....................................................................................................... 82
modify_dvd.py ......................................................................................................... 86
delete_dvd.py ......................................................................................................... 91
csvreport_dvd.py ..................................................................................................... 94
Testowanie .................................................................................................................. 96
Potencjalna rozbudowa programu .................................................................................. 96
Podsumowanie ............................................................................................................ 96
Rozdział 4. Program testujący wydajność WWW ................................................................................. 97
Używanie programu ...................................................................................................... 98
Uruchamianie serwera WWW w Pythonie ................................................................... 98
Uruchomienie klienta testującego wydajność ............................................................. 99
Testowanie połączeń klienckich ze zdalnymi adresami WWW .................................... 100
Testowanie wydajności wbudowanego serwera WWW ............................................... 101
Wyświetlenie dziennika .......................................................................................... 102
Spis treści
7
Projekt ...................................................................................................................... 103
Elementy aplikacji ................................................................................................. 104
Moduły ................................................................................................................. 104
Analiza kodu .............................................................................................................. 105
webserver.py ........................................................................................................ 106
webperf.py ........................................................................................................... 108
webclient.py ......................................................................................................... 110
Pliki pomocnicze ................................................................................................... 116
Testowanie ................................................................................................................ 116
Możliwe modyfikacje programu .................................................................................... 117
Podsumowanie .......................................................................................................... 117
Rozdział 5. System gromadzenia opinii użytkowników ........................................................................119
Wykorzystanie programu ............................................................................................. 119
Wymagania wstępne ............................................................................................. 120
Uruchomienie programu ........................................................................................ 127
Projekt ...................................................................................................................... 129
Elementy aplikacji ................................................................................................. 129
Moduły ................................................................................................................. 130
Analiza kodu .............................................................................................................. 130
form.html ............................................................................................................. 130
form.py ................................................................................................................ 132
Testowanie ................................................................................................................ 136
Modyfikowanie programu ............................................................................................ 137
Podsumowanie .......................................................................................................... 137
Rozdział 6. System zarządzania testami ..............................................................................................139
Używanie programu .................................................................................................... 139
Uruchamianie testów ............................................................................................. 140
Wyświetlanie listy wywołań testów .......................................................................... 143
Wyświetlanie wyników testów ................................................................................. 143
Zapis raportu w formacie HTML .............................................................................. 144
Sprawdzanie zawartości pliku HTML ....................................................................... 145
Wyświetlenie ekranu pomocy ................................................................................. 145
Projekt ...................................................................................................................... 146
Moduły ................................................................................................................. 146
Analiza kodu .............................................................................................................. 148
test_manager.py ................................................................................................... 148
Program główny .................................................................................................... 149
test_run.py ........................................................................................................... 152
test_list.py ........................................................................................................... 159
test_results.py ...................................................................................................... 160
test_html.py ......................................................................................................... 162
Testowanie ................................................................................................................ 165
Możliwości modyfikacji programu ................................................................................. 166
Podsumowanie .......................................................................................................... 166
Kilka informacji na temat modułu minidom .............................................................. 166
8
Python. Projekty do wykorzystania
Rozdział 7. System weryfikacji wersji oprogramowania ..................................................................167
Używanie programu .................................................................................................... 168
Konfiguracja zdalnych komputerów ......................................................................... 168
Uruchamianie programu: składnia wiersza poleceń .................................................. 168
Projekt ...................................................................................................................... 171
Moduły ................................................................................................................. 171
Analiza kodu .............................................................................................................. 173
version_checker.py ............................................................................................... 173
check_versions.py ................................................................................................. 176
csv_report.py ........................................................................................................ 181
Testowanie ................................................................................................................ 182
Możliwe modyfikacje programu .................................................................................... 182
Kwestie bezpieczeństwa ........................................................................................ 182
Podsumowanie .......................................................................................................... 183
Rozdział 8. System zarządzania treścią ..............................................................................................185
Ogólne informacje o Plone .......................................................................................... 185
Czym jest Plone? .................................................................................................. 185
Instalacja i konfiguracja Plone ..................................................................................... 186
Pobieranie pakietu instalacyjnego Plone ................................................................. 186
Rozpakowanie pakietu instalacyjnego ..................................................................... 187
Uruchomienie instalatora Plone .............................................................................. 189
Uruchomienie Plone .............................................................................................. 189
Hasło konta admin serwera Plone .......................................................................... 189
Zalogowanie na konto admin ................................................................................. 190
Konfiguracja poczty e-mail ..................................................................................... 190
Dodanie konta użytkownika .................................................................................... 192
Zalogowanie na koncie nowo utworzonego użytkownika ............................................ 193
Projekt ...................................................................................................................... 194
Nawigacja .................................................................................................................. 196
Zarządzanie treścią .................................................................................................... 196
Tworzenie strony ................................................................................................... 196
Tworzenie kolekcji ................................................................................................. 198
Uprawnienia użytkowników .......................................................................................... 202
Podsumowanie .......................................................................................................... 202
Część II Zagadnienia zaawansowane
203
Rozdział 9. Interakcja z systemem operacyjnym ............................................................................... 205
Podstawowe usługi systemu operacyjnego ................................................................... 206
Moduł os .............................................................................................................. 206
Moduł time formatowanie i przekształcanie czasu systemowego ........................... 207
Moduł optparse obsługa parametrów wywołania .................................................. 209
Moduł platform informacje o platformie systemowej ............................................ 209
Moduł getpass generowanie i weryfikacja haseł .................................................. 210
Możliwości, jakie daje moduł .................................................................................. 210
Wykorzystanie usług systemu Windows ........................................................................ 211
Moduł winreg dostęp do Rejestru Windows ......................................................... 211
Moduł winsound ................................................................................................... 211
Zgłoś jeśli naruszono regulamin