Co to jest moduł systemu operacyjnego Pythona i jak go używać?

Co to jest moduł systemu operacyjnego Pythona i jak go używać?

Moduł OS w Pythonie zapewnia dostęp do specyficznych dla systemu funkcji do obsługi systemu plików, procesów, harmonogramu itp. Musisz opanować system operacyjny Python OS do pisania aplikacji, które radzą sobie z rzeczywistymi problemami. W tym przewodniku omówiono niektóre podstawowe pojęcia i pokazano, jak używać polecenia systemowego Python.





Cechy 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 zapewnianych przez moduł systemu operacyjnego do wykonywania szerokiego zakresu zadań. Niektóre typowe zastosowania obejmują wykonywanie poleceń powłoki, zarządzanie plikami i katalogami, procesy odradzania itp.





Pierwsze kroki z modułem systemu operacyjnego

Najłatwiejszym sposobem eksploracji modułu systemu operacyjnego jest interpreter. Możesz tam zaimportować moduł i korzystać z funkcji systemu bez pisania kodu źródłowego. Musisz jednak mieć zainstalowany Python. Więc śmiało zainstaluj Pythona na swoim lokalnym komputerze.

Związane z: Jak zainstalować Pythona na Ubuntu



Uruchom tłumacza, wpisując pyton w terminalu lub powłoce poleceń. Po otwarciu zaimportuj moduł systemu operacyjnego, używając poniższej instrukcji.

ogień hd 10 google play 2018
>>> 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ę systemu 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 unname funkcja, aby uzyskać szczegółowe informacje.

>>> os.uname()

To polecenie wyświetla dokładną platformę systemową wraz z architekturą maszyny, wydaniem i informacjami o wersji. Użyj dostaćcwd funkcja do pobrania bieżącego katalogu roboczego.





>>> os.getcwd()

Możesz łatwo zmienić katalog roboczy za pomocą polecenia systemowego Pythona czdira . Przekaż nową lokalizację jako parametr ciągu.

>>> os.chdir('/tmp')

ten mkdir funkcja modułu OS sprawia, że ​​tworzenie nowych katalogów jest proste. Pozwala nam również tworzyć foldery rekurencyjne, co oznacza, że ​​Python utworzy wszystkie brakujące katalogi, które są rodzicami katalogu liścia.

>>> os.mkdir('new-dir')

Użyj rmdir polecenie, aby usunąć katalogi z katalogu roboczego.

>>> os.rmdir('new-dir')

Przykłady poleceń systemowych w Pythonie

Polecenie systemowe dostarczane przez moduł systemu operacyjnego umożliwia programistom wykonywanie poleceń powłoki. Pamiętaj, aby zdefiniować nazwę polecenia jako ciąg. Kiedy zadzwonisz do pytona system polecenie, uruchomi dane polecenie w nowej podpowłoce.

>>> cmd = 'date'
>>> os.system(cmd)

W ten sam sposób można uruchamiać inne samodzielne aplikacje. Poniższy przykład wykonuje edytor terminali nano z powłoki Pythona.

>>> cmd = 'nano'
>>> os.system(cmd)

System Python OS wyświetla również kod powrotu dla każdego wykonywanego polecenia. Systemy POSIX zwracają 0 dla pomyślnego wykonania i wartości niezerowe, aby wskazać problemy.

Możesz używać 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ś takiego.

>>> cmd = 'gcc --version'
>>> os.system(cmd)

Poniższy przykład wykonuje proste polecenie powłoki, które tworzy nowy plik o nazwie user.txt i wypełnia go wszystkimi zalogowanymi użytkownikami. Wiele programów w Pythonie robi takie rzeczy.

>>> os.system('users > test')

Przekazujemy nazwę polecenia do systemu operacyjnego jako ciąg znaków. Możesz używać wszystkich rodzajów przydatne polecenia terminala w ten sam sposób.

>>> os.system('ping -c 3 google.com')

Możesz także użyć podproces wzywa do wykonywania poleceń systemowych z Pythona. Zapewnia to kilka dodatkowych korzyści, w tym szybsze działanie, lepszą obsługę błędów, analizowanie danych wyjściowych i polecenia powłoki potokowej. Oficjalna dokumentacja Pythona zaleca również wywoływanie podprocesów w starszych modułach, takich jak os.system oraz os.spawn .

>>> import subprocess
>>> subprocess.run(['ping','-c 3', 'example.com'])

Zarządzanie plikami i katalogami za pomocą modułu systemu operacyjnego

Pokazaliśmy, jak tworzyć proste pliki i katalogi za pomocą modułu Python OS. Co zrobić, jeśli chcesz tworzyć foldery zagnieżdżone? 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ą o a następnie dołączył do nazw folderów przez os.ścieżka.dołącz . Instrukcja print wyświetla nazwę folderu i makedirowie tworzy go.

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('touch file1 file2 file3')
>>> os.listdir(os.environ['HOME'])

Możesz łatwo zmienić nazwę katalogu api za pomocą 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 oraz Nazwa funkcji systemu operacyjnego, jeśli Twój program wymaga sprawdzania poprawności określonych plików lub katalogów.

>>> os.path.isfile('file1')
>>> os.path.isdir('file1')

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.ścieżka.split oraz os.path.splitext pod tym względem.

>>> dir = os.path.join(os.environ['HOME'], 'test', 'root', 'api', 'file1.txt')
>>> dirname, basename = os.path.split(dir)
>>> print(dirname)
>>> print(basename)

Użyj poniższego kodu, aby wyodrębnić rozszerzenia, takie jak .txt lub .mp3 z nazw plików.

>>> filename, extension = os.path.splitext(basename)
>>> print(filename)
>>> print(extension)

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ć UID (identyfikator użytkownika) bieżącego procesu za pomocą poświadczony funkcjonować.

>>> os.getuid()
>>> os.getgid()

ten getgid funkcja zwraca identyfikator grupy uruchomionego procesu. Posługiwać się getpid do uzyskania PID (identyfikatora procesu) i getppid aby uzyskać identyfikator procesu nadrzędnego.

>>> os.getpid()
>>> os.getppid()

Możesz także użyć modułu OS do zmiany uprawnień plików i katalogów z twojego programu w Pythonie. Użyj chmod funkcja systemu operacyjnego, aby to zrobić.

>>> os.chmod('file1.txt', 0o444)

To polecenie zmienia uprawnienia plik1.txt do 0444 . Posługiwać się 0o444 zamiast 0444 aby upewnić się, że instrukcja jest zgodna w obu głównych wersjach Pythona.

Wykorzystaj moc Python OS System

Moduł systemu operacyjnego Pythona zapewnia wszystko, czego potrzebujesz do interakcji z podstawowym systemem operacyjnym. Do pisania prawdziwie wieloplatformowych programów potrzebne jest jasne zrozumienie systemu operacyjnego. Omówiliśmy niektóre z podstawowych funkcji tego modułu, aby pomóc Ci zacząć. Wypróbuj je we własnym tempie i nie zapomnij przy nich majstrować.

Udział Udział Ćwierkać E-mail Jak tworzyć i używać krotek w Pythonie?

Gotowy, aby przenieść swoje kodowanie w Pythonie na wyższy poziom? Czas zrozumieć, jak tworzyć i używać krotek.

Czytaj dalej
Powiązane tematy
  • Programowanie
  • Pyton
O autorze Rubajat Hossain(39 opublikowanych artykułów)

Rubaiat jest absolwentem CS z silną pasją do open-source. Oprócz tego, że jest weteranem systemu Unix, zajmuje się także bezpieczeństwem sieci, kryptografią i programowaniem funkcjonalnym. Jest zapalonym kolekcjonerem książek z drugiej ręki i ma nieustanny podziw dla klasycznego rocka.

Więcej od Rubaiata Hossaina

Zapisz się do naszego newslettera

Dołącz do naszego newslettera, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!

Kliknij tutaj, aby zasubskrybować