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
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 HossainaZapisz 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ć