6.1 os -- Rozmaite interfejsy systemu operacyjnego

Moduł udostępnia możliwości zależne od systemu operacyjnego, czyniąc to w sposób bardziej przenośny, niż w przypadku importowania wbudowanych modułów zależnych od systemu operacyjnego, takich jak posix czy nt.

Moduł poszukuje wbudowanych modułów zależnych od systemu operacyjnego, takich jak mac czy posix, a następnie eksportuje odnalezione w nich funkcje i dane. Wszystkie wbudowane moduły Pythona, zależne od systemu operacyjnego, zaprojektowano w taki sposób, że dowolnie wybrana funkcja, o ile jest dostępna, wykorzystuje zawsze ten sam interfejs. Na przykład funkcja os.stat(ścieżka) zwraca informacje na temat pliku o podanej ścieżce zawsze w tym samym formacie (w tym przypadku opartym o interfejs POSIX).

Moduł os zawiera również rozszerzenia specyficzne dla pewnych systemów operacyjnych, choć korzystanie z nich wiąże się oczywiście z ryzykiem utraty przenośności.

Należy zauważyć, że po pierwszym zaimportowaniu modułu os nie występuje żaden narzut czasowy, który powodowałby mniejszą efektywność wywoływania funkcji udostępnianych przez moduł os zamiast bezpośredniego użycia odpowiedniego modułu wbudowanego zależnego od systemu operacyjnego. Nie istnieje zatem żaden powód, który uzasadniałby nieużywanie modułu os.

Moduł os zawiera wiele funkcji oraz wartości danych. Wszystkie elementy wymienione poniżej, jak i w podsekcjach, dostępne są bezpośrednio w tym module.

wyjątek error
Wyjątek jest generowany w przypadku, gdy przy wykonywaniu funkcji powstanie błąd na poziomie systemu operacyjnego (nie dotyczy to niepoprawnych typów argumentów, czy też innych ubocznych błędów). Jest on również dostępny jako wbudowany wyjątek o nazwie OSError. Towarzysząca wyjątkowi wartość jest parą zawierającą liczbowy kod błędu (uzyskany ze zmiennej errno) oraz odpowiadający mu napis, jaki wypisałaby dostępna w języku C funkcja perror(). Nazwy odpowiadające kodom błędów zdefiniowanym przez używany system operacyjny zdefiniowano w module errno .

W przypadku, gdy wyjątki są klasami, wyjątek przechowuje dwa atrybuty: errno oraz strerror. Pierwszy atrybut zawiera wartość zmiennej errno z biblioteki standardowej języka C, zaś drugi -- odpowiadający jej komunikat opisujący błąd, uzyskany przy użyciu funkcji strerror(). Przy wyjątkach dotyczących operacji na nazwach plików (np. chdir() lub unlink()) instancja wyjątku zawiera również trzeci argument o nazwie filename, będący kopią nazwy pliku przekazanej przy wywołaniu funkcji.

name
Nazwa zaimportowanego modułu zależnego od systemu operacyjnego. Aktualnie zarejestrowane są następujące nazwy: 'posix', 'nt', 'mac', 'os2', 'ce', 'java', 'riscos'.

path
Odpowiedni moduł obsługujący operacje na ścieżkach do plików, zależny od systemu operacyjnego, np. posixpath lub macpath. Tak więc, po wykonaniu odpowiednich instrukcji import, zapis os.path.split(plik) jest równoważny zapisowi posixpath.split(plik), jednak jest od niego bardziej przenośny. Moduł ten można również importować bezpośrednio, używając jego pełnej ścieżki: os.path.


Podsekcje
Zajrzyj do Informacji na temat tej publikacji... aby pomóc w jej rozwoju.