Moduł systemu operacyjnego w Pythonie zapewnia dostęp do funkcji specyficznych dla systemu do obsługi systemu plików, procesów, harmonogramu itp. Musisz opanować system operacyjny Python, aby pisać aplikacje, które radzą sobie z rzeczywistymi problemami. W tym przewodniku omówiono niektóre z podstawowych koncepcji i pokazano, jak używać polecenia systemowego w języku Python.
Funkcje systemu operacyjnego Python
System operacyjny służy jako przenośny sposób interakcji z podstawowym systemem operacyjnym. Oferuje dostęp do nazw plików, argumentów wiersza poleceń, zmiennych środowiskowych, parametrów procesu i hierarchii systemu plików wraz z innymi funkcjami.
Ten moduł zawiera również dwa podmoduły, moduł os.sys i moduł os.path. Możesz używać funkcji udostępnianych przez moduł systemu operacyjnego do wykonywania szerokiego zakresu zadań. Niektóre typowe zastosowania obejmują wykonywanie poleceń powłoki, zarządzanie plikami i katalogami, procesy tarłaitp.
Pierwsze kroki z modułem systemu operacyjnego
Najłatwiejszym sposobem zapoznania się z modułem systemu operacyjnego jest skorzystanie z interpretera. Możesz tam zaimportować moduł i korzystać z funkcji systemu bez konieczności pisania kodu źródłowego. W tym celu musisz mieć zainstalowany Python. Więc śmiało zainstaluj Pythona na swoim komputerze lokalnym.
Związane z: Jak zainstalować Python na Ubuntu
Uruchom interpretera, wpisując pyton w terminalu lub powłoce poleceń. Po otwarciu zaimportuj moduł systemu operacyjnego, korzystając z poniższej instrukcji.
>>> import os
Możesz teraz uzyskać dostęp do funkcji zapewnianych przez moduł systemu operacyjnego, w tym Python system Komenda. Na przykład możesz określić platformę systemową za pomocą Nazwa Komenda. Poniższy przykład pokazuje, jak wywoływać polecenia systemowe udostępniane przez moduł systemu operacyjnego.
>>> os.name
Ta funkcja sprawdza, czy są obecne określone moduły systemu operacyjnego i na tej podstawie określa platformę. Użyj uname funkcji, aby uzyskać szczegółowe informacje.
>>> os.uname ()
To polecenie wyświetla dokładną platformę systemową wraz z informacją o architekturze, wydaniu i wersji maszyny. Użyj getcwd funkcja, aby pobrać bieżący katalog roboczy.
>>> os.getcwd ()
Możesz łatwo zmienić katalog roboczy za pomocą polecenia systemowego Python chdir. Przekaż nową lokalizację jako parametr ciągu.
>>> os.chdir („/ tmp”)
Plik mkdir Funkcja modułu OS sprawia, że tworzenie nowych katalogów jest proste. Pozwala nam również na tworzenie folderów rekurencyjnych, co oznacza, że Python utworzy wszystkie brakujące katalogi, które są rodzicami katalogu liści.
>>> os.mkdir ('nowy-katalog')
Użyj rmdir polecenie usunięcia katalogów z katalogu roboczego.
>>> os.rmdir ('nowy-katalog')
Przykłady poleceń systemowych w języku Python
Polecenie systemowe dostarczane przez moduł systemu operacyjnego umożliwia programistom wykonywanie poleceń powłoki. Upewnij się, że nazwa polecenia została zdefiniowana jako ciąg. Po wywołaniu python system polecenie, uruchomi dane polecenie w nowej podpowłoce.
>>> cmd = 'data'
>>> os.system (cmd)
W ten sam sposób można uruchamiać inne aplikacje autonomiczne. Poniższy przykład wykonuje edytor terminali nano z powłoki Pythona.
>>> cmd = 'nano'
>>> os.system (cmd)
System operacyjny Python wyprowadza również kod powrotu dla każdego wykonywanego polecenia. Systemy POSIX zwracają 0 dla pomyślnego wykonania i niezerowe wartości wskazujące na problemy.
Możesz użyć systemu operacyjnego w Pythonie do uruchamiania wszystkiego, co chcesz. Na przykład, jeśli twój program musi odczytać informacje o wersji programu na komputerze użytkownika, możesz zrobić coś podobnego do następującego.
>>> cmd = 'gcc --version'
>>> os.system (cmd)
Poniższy przykład wykonuje proste polecenie powłoki, które tworzy nowy plik o nazwie users.txt i zapełnia go wszystkimi zalogowanymi użytkownikami. Wiele programów w Pythonie robi takie rzeczy.
>>> os.system ('użytkownicy> test')
Przekazujemy nazwę polecenia do systemu operacyjnego jako ciąg. Możesz używać wszystkich typów plików przydatne polecenia terminala w ten sam sposób.
>>> os.system („ping -c 3 google.com”)
Możesz także użyć podproces wywołuje wykonywanie poleceń systemowych z Pythona. Zapewnia to kilka dodatkowych korzyści, w tym szybsze działanie, lepszą obsługę błędów, analizę wyjściową i polecenia powłoki potokowej. Oficjalna dokumentacja Pythona zaleca również wywołanie podprocesu w przypadku starszych modułów, takich jak os.system i os.spawn.
>>> importuj podproces
>>> subprocess.run (["ping", "- c 3", "example.com"])
Zarządzanie plikami i katalogami poprzez moduł systemu operacyjnego
Pokazaliśmy, jak tworzyć proste pliki i katalogi za pomocą modułu Python OS. A co jeśli chcesz utworzyć zagnieżdżone foldery? System operacyjny dba o to również dla nas programistów. Na przykład poniższe fragmenty tworzą folder $ HOME / test / root / api. Utworzy również niezbędne katalogi nadrzędne, jeśli nie są one dostępne.
>>> dirname = os.path.join (os.environ ['HOME'], 'test', 'root', 'api')
>>> print (dirname)
>>> os.makedirs (dirname)
Najpierw pobraliśmy katalog domowy za pomocą otaczać a następnie dołączył do nazw folderów za pośrednictwem os.path.join. Instrukcja print wyświetla nazwę folderu i makedirs tworzy to.
Możemy wyświetlić nowy katalog za pomocą listdir metoda modułu systemu operacyjnego.
>>> os.chdir (os.path.join (os.environ ['HOME'], 'test', 'root', 'api'))
>>> os.system ('dotykowy plik1 plik2 plik3')
>>> os.listdir (os.environ ['HOME'])
Możesz łatwo zmienić nazwę katalogu api za pomocą rozszerzenia Przemianować polecenie oferowane przez moduł systemu operacyjnego. Poniższa instrukcja zmienia nazwę tego katalogu api na test-api.
>>> os.rename ('api', 'test-api')
Użyj isfile i isdir funkcji systemu operacyjnego, jeśli program wymaga sprawdzenia poprawności określonych plików lub katalogów.
>>> os.path.isfile ('plik1')
>>> os.path.isdir („plik1”)
Moduł systemu operacyjnego w Pythonie umożliwia również programistom wyodrębnianie nazw plików i folderów wraz z rozszerzeniami plików. Poniższe fragmenty ilustrują użycie os.path.split i os.path.splitext pod tym względem.
>>> dir = os.path.join (os.environ ['HOME'], 'test', 'root', 'api', 'file1.txt')
>>> nazwa katalogu, basename = os.path.split (katalog)
>>> print (dirname)
>>> print (nazwa podstawowa)
Użyj poniższego kodu, aby wyodrębnić rozszerzenia, takie jak .txt lub .mp3 z nazw plików.
>>> nazwa_pliku, rozszerzenie = os.path.splitext (nazwa podstawowa)
>>> print (nazwa pliku)
>>> print (rozszerzenie)
Różne użycie systemu operacyjnego Python
Moduł systemu operacyjnego oferuje wiele dodatkowych funkcji do manipulowania takimi rzeczami, jak procesy użytkownika i harmonogram zadań. Na przykład możesz szybko uzyskać identyfikator UID (identyfikator użytkownika) bieżącego procesu za pomocą rozszerzenia getuid funkcjonować.
>>> os.getuid ()
>>> os.getgid ()
Plik getgid funkcja zwraca identyfikator grupy uruchomionego procesu. Posługiwać się getpid aby uzyskać PID (identyfikator procesu) i getppid aby uzyskać identyfikator procesu nadrzędnego.
>>> os.getpid ()
>>> os.getppid ()
Możesz także użyć modułu systemu operacyjnego do zmiany uprawnień do plików i katalogów z programu w języku Python. Użyj chmod funkcja systemu operacyjnego, aby to zrobić.
>>> os.chmod ('plik1.txt', 0o444)
To polecenie zmienia uprawnienia plik1.txt do 0444. Posługiwać się 0o444 zamiast 0444 aby upewnić się, że instrukcja jest zgodna z obiema głównymi wersjami Pythona.
Wykorzystaj moc systemu operacyjnego Python
Moduł OS Pythona zapewnia wszystko, czego potrzebujesz do interakcji z podstawowym systemem operacyjnym. Do pisania prawdziwie wieloplatformowych programów potrzebne jest dokładne zrozumienie systemu operacyjnego. Omówiliśmy niektóre z podstawowych funkcji zapewnianych przez ten moduł, aby pomóc Ci rozpocząć. Wypróbuj je we własnym tempie i nie zapomnij majstrować przy nich.
Gotowy, aby przenieść swoje kodowanie w Pythonie na wyższy poziom? Czas zrozumieć, jak tworzyć i używać krotek.
- Programowanie
- Pyton
Rubaiat to absolwent CS z wielką pasją do oprogramowania open source. Oprócz bycia weteranem Uniksa zajmuje się również bezpieczeństwem sieci, kryptografią i programowaniem funkcjonalnym. Jest zapalonym kolekcjonerem książek z drugiej ręki i niekończącym się podziwem dla klasycznego rocka.
Zapisz się do naszego newslettera
Dołącz do naszego biuletynu, aby otrzymywać wskazówki techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!
Jeszcze jeden krok…!
Potwierdź swój adres e-mail w wiadomości e-mail, którą właśnie wysłaliśmy.