Programowanie w Sieci Internet. Python: Operacje z plikami oraz obsługa wyjątków

Podobne dokumenty
Programowanie w Sieci Internet. Python: Wątki. Kraków, 12 grudnia 2014 r. mgr Piotr Rytko Wydział Matematyki i Informatyki

Informatyka 2015/16 wykład 9. Pliki Sterowanie przebiegiem programu cz. 2. Dr inż. Witold Nocoń (p. 230)

Podstawy i języki programowania

Programowanie w Sieci Internet Blok 2 - PHP. Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki

Wyjątki. try - except

Zaawansowane techniki programowania C#

Pliki. Operacje na plikach w Pascalu

Lekcja 10. Uprawnienia. Dołączanie plików przy pomocy funkcji include() Sprawdzanie, czy plik istnieje przy pmocy funkcji file_exists()

Wykład PASCAL - Pliki tekstowe

Język Python (3) Język Python (3) 1/35

Programowanie Obiektowe Ćwiczenie 4

Pisząc kod w Pythonie na pewno już nie raz coś poszło nie tak i Shell wypisał komunikat o błędzie podobny do poniższego:

Zaawansowany kurs języka Python

Delphi Laboratorium 3

Obsługa błędów za pomocą wyjątków. Paweł Motofa (140746)

Programowanie w Sieci Internet Python - c. d. Kraków, 28 listopada 2014 r. mgr Piotr Rytko Wydział Matematyki i Informatyki

Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Środowisko programisty

Wykład 8: Obsługa Wyjątków

Programowanie w Sieci Internet JSP ciąg dalszy. Kraków, 9 stycznia 2015 r. mgr Piotr Rytko Wydział Matematyki i Informatyki

Programowanie w Sieci Internet filtry oraz web.xml. Kraków, 11 stycznia 2013 r. mgr Piotr Rytko Wydział Matematyki i Informatyki

Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1)

1 Pierwsze kroki w C++ cz.3 2 Obsługa plików

System plików warstwa logiczna

Wykład 4. Tablice. Pliki

Kurs rozszerzony języka Python

Jak wiemy, wszystkich danych nie zmieścimy w pamięci. A nawet jeśli zmieścimy, to pozostaną tam tylko do najbliższego wyłączenia zasilania.

Programowanie i struktury danych

Hackowanie zamrożonych binariów

Programowanie w języku Python. Grażyna Koba

Podstawy Pythona. Krzysztof Gdawiec. Instytut Informatyki Uniwersytet Śląski

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Laboratorium z systemów operacyjnych. System plików - funkcje systemowe. Anna Wojak

EPI: Interfejs Graficzny 2011/2012 Laboratorium nr 2 Programowanie obiektowe

Strumienie, pliki. Sortowanie. Wyjątki.

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

Programowanie obiektowe

1 Kursory 1. 2 Wyjątki Wyjątki predefiniowane Wyjątki niezdefiniowane wcześniej Definiowanie własnych wyjątków...

Klasy cd. Struktury Interfejsy Wyjątki

Python dla początkujących. Małgorzata Niewiem AGH, GGiOŚ, Katedra Geoinformatyki i Informatyki Stosowanej SATIM Satelitarny Monitoring

Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi)

Kurs programowania. Wykład 7. Wojciech Macyna. 25 kwietnia 2017

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Kursory i wyjątki. (c) Instytut Informatyki Politechniki Poznańskiej 1

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

PyX jest pakietem Pythona do grafiki wektorowej. Pozawala zatem tworzyd pliki EPS oraz PDF.

Podstawy programowania w Pythonie

Słowa kluczowe jak góry lodowe

Metody zawarte w klasie File: boolean createnewfile() tworzy nowy, pusty plik, ale tylko jeśli on wcześniej nie istniał. boolean delete() usuwa dany

Wyjątki (exceptions)

Podstawy Programowania ELEMENTY PROGRAMU i TYPY DANYCH

PL/SQL. Zaawansowane tematy PL/SQL

Aplikacje w środowisku Java

Programowanie w językach

Programowanie 3 - Funkcje, pliki i klasy

Wątki i komunikacja między nimi w języku Python

Wykresy i interfejsy użytkownika

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

Pliki. Funkcje tworzące pliki i operujące na nich opisane są w części 2 pomocy systemowej. Tworzenie i otwieranie plików:

Podstawy i języki programowania

Działanie systemu operacyjnego

Laboratorium Systemów Operacyjnych. Ćwiczenie 4. Operacje na plikach

Języki programowania imperatywnego

Serwer pocztowy. QmaiLux. Dokumentacja techniczna mechanizmu książek adresowych (qbook)

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Instrukcja do laboratorium Systemów Operacyjnych. (semestr drugi)

Język ludzki kod maszynowy

Throwable. Wyjatek_1(int x_) { x = x_; } int podaj_x()

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p.

Biblioteka standardowa - operacje wejścia/wyjścia

Języki i metody programowania Java INF302W Wykład 3 (część 1)

Ćwiczenie 1. Kolejki IBM Message Queue (MQ)

Java podstawy jęyka. Wykład 2. Klasy abstrakcyjne, Interfejsy, Klasy wewnętrzne, Anonimowe klasy wewnętrzne.

Programowanie obiektowe

Język C++ wykład VIII

akademia androida Składowanie danych część VI

Działanie systemu operacyjnego

Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w

Deklarowanie kursora

Sesje, ciasteczka, wyjątki. Ciasteczka w PHP. Zastosowanie cookies. Sprawdzanie obecności ciasteczka

Scenariusz Web Design DHTML na 10 sesji. - Strony statyczne I dynamiczne. - Dodawanie kodu VBScript do strony HTML. Rysunek nie jest potrzebny

Zaawansowane programowanie w języku C++ Wyjątki

Efekty uboczne błędów

Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni. Wykład 5. Karol Tarnowski A-1 p.

Programowanie obiektowe

ang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku

Wprowadzanie danych z klawiatury. Wyjątki związane z wprowadzaniem danych, przekroczeniem rozmiaru tablicy, dzieleniem przez zero itd.

Przykład. Podaj nazwę domenową hosta a odczytaj jego adres IP, lub odwrotnie:

Funkcje zawarte w bibliotece < io.h >

Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1. Kraków 2013

Podstawy programowania w języku C++

Działanie systemu operacyjnego

Kurs walut. Specyfikacja projektu. Marek Zając

Systemy Operacyjne 1 Laboratorium 3 Potoki i łącza nazwane w Linuksie (jeden tydzień) dr inż. Arkadiusz Chrobot

Oracle PL/SQL. Paweł Rajba.

Kolejki FIFO (łącza nazwane)

Ćwiczenie 4. Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1.

Funkcje zawarte w bibliotece < io.h >

Działanie systemu operacyjnego

Transkrypt:

Programowanie w Sieci Internet Python: Operacje z plikami oraz obsługa wyjątków Kraków, 5 grudnia 2014 r. mgr Piotr Rytko Wydział Matematyki i Informatyki

Otwieranie plików Otwieranie plików jest realizowane przez metodę open(file_name [, access_mode][, buffering]) access_mode tryb otwierania pliku. (r odczyt, rb odczyt binarny, r+ - odczyt i zapis, rb+ - odczyt i zapis binarny, w zapis, wb zapis binarny, w+ zapis i odczyt, wb+ zapis i odczyt binarnie, a dołącznie do pliku, ab dołączanie do pliku binarnie, a+ dołącznie i odczyt z pliku, ab+ dołączanie i odczyt binarny z pliku. buffering rodzaj buforowania (0 brak bufforowania, 1 buforowanie linii, > 1 określa rozmiar bufora, < 0 używa domyślnego buforowania systemowego. Atrybuty pliku: file.closed czy plik jest zamknięty, file.mode zwraca tryb pracy z plikiem, file.name nazwa pliku.

Praca z dokumentem close() dokonuje zrzutu nie zapisanych danych z bufora i zamyka plik. Po tej akcji nie można już więcej pisać do tego pliku. Python jednal sam zamyka pliki gdy juz nie istnieje zadne odwolanie do pliku. write() dodaje text do pliku (ten text może być także traktowany jako dane binarne), read() czyta text z pliku (tu również text może być danymi binarnymi). read() może pobierać parametr mówiący o liczbie bajtów, które ma odczytać. Bez podania liczby bajtów do odczytu, python prubuje odczytać tyle ile da rade, w szczególności do końca pliku, tell() zwraca pozycję kursora względem początku pliku, speak(offset [,from]) ustawia kursor (from 0 początek pliku, 1 obecna pozycja, 2 koniec pliku)

Zmiana nazwy / usówanie pliku os.rename(current_name, new_name) zmienia nazwę pliku na nową, os.remove(file_name) usówa plik. Katalogi os.mkdir(dir_name) tworzy katalog, os.chdir(dir_name) zmienia katalog na dir_name, os.getcwd() zwraca lokalizacje obecnego katalogu, os.rmdir(dir_name) usówa katalog dir_name.

Exceptions Obsluga wyjątków w pythonie różni się nieco od innych językow wysokiego poziomu. Zwyczajowo istnieje blok try, w ktorym wykonywany jest kod, ktory moż epowodować wystąpienie wyjątków. Po bloku try umieszczamy bloki except, w których to obsługujemy poszczególne wyjątki. A na koniec (i tu znacząca różnica) blok else, ktory zawiera operacje ktore wykonujemy gdy nie napotkano żadnego wyjątku. Jeśli po słowie kluczowym except nie uimieścimy klasy wyjątku, to w blok ten wpadnie każdy wyjątek, który poleciał z kodu w bloku try. Oczywiście możemy wyłapać do naszego bloku konkretne wyjatki poprzez except(exception1[, Exception2[,...ExceptionN]]):

Exceptions c.d. Mamy także blok finally, w ktory wpadamy zawsze niezależnie od tego czy został rzycony jakikolwiek wyjątek. Blok finally nie może zostać użyty razem z blokiem else. Do bloku except można także dorzucić argument, jest to argument wyjatku i dzięki temu mozna wyświetlić jego wartość: except Exception, Argument: Jeśli mamy kilka exceptionów łapanych do bloku, to argument bedize należał do najważniejszego złapanego wyjatku. Dodatkowo argument może być nie jedno, a wielo wartościowy i zwracac takie dane jak error message string, error number i error location.

Rzucanie wyjątkami Aby rzucić wyjatkiem wystarczy wywołać raise [Exception [, arg [, traceback]]] Exception jest typu exception, arg jest jego wartoscią i jest opcjonalny. Można także dołączyć trackback obiekt. Exception to może być dowolny, objekt li klasa (w szczególności może to być string) Aby móc złapać ten wyjątek należy łapać ten objekt, klase lub dokładnie ten sam string. Przyklad na następnej stronie

Przyklad utwożenia wlasnego Exceptiona Utworzenie własnego Exceptiona bazujac na RuntimeError class Networkerror(RuntimeError): def init (self, arg): self.args = arg Rzucenie i złapanie naszego wyjątku z wyswietleniem info try: raise Networkerror("Bad hostname") except Networkerror,e: print e.args

Dziękuję za uwagę!