Poniżej znajdują się niektóre funkcje modułu systemu operacyjnego:
1. os.name: Ta funkcja podaje nazwę importowanego zależnego modułu systemu operacyjnego. Obecnie zarejestrowane nazwy to: „posix”, „nt”, „os2”, „ce”, „java” i „riscos”
importuj
os
drukuj
(os.name)
Wyjście:
posix
Uwaga: po uruchomieniu kodu może to dawać różne wyniki w różnych interpreterach, takich jak „posix”.
2. os.getcwd (): Funkcja os.getcwd (), która zwraca bieżący katalog roboczy (CWD) pliku użytego do wykonania kodu, może się różnić w zależności od systemu.
importuj
os
drukuj
(os.getcwd ())
# Aby wydrukować ścieżkę bezwzględną w systemie
# os.path.abspath ('. ')
# Aby wydrukować pliki i katalogi w bieżącym katalogu
# w twoim systemie
# os.listdir ('. ')
Wyjście:
C: UsersGFGDesktopModuleOS
Uwaga. W przypadku interpretera GFG używany jest katalog / root.
3. os.error: Wszystkie funkcje w tym module podnoszą OSError dla nieprawidłowych lub nieosiągalnych nazw plików i ścieżek lub innych argumentów, które są poprawnego typu, ale nie są akceptowane przez system operacyjny. os.error — jest to alias dla wbudowanego wyjątku OSError.
import
os
spróbuj
:
# Jeśli plik nie istnieje,
# wtedy zgłosi to IOError
nazwa pliku
=
`GFG.txt`
f
=
open
(nazwa pliku,
`rU`
)
text
=
f.read()
f.close ()
# cd rol przeskakuje tutaj, jeśli
# którykolwiek z powyższych wierszy zwróci IOError.
z wyjątkiem
IOError:
# print (os.error) będzie "klasa ' OSEbłąd ' >
print
(
`Problem z odczytem:`
+
filename)
# Tak czy inaczej, kod jest kontynuowany
# wiersz po try / z wyjątkiem
Wyjście:
Odczyt problemu: GFG.txt
Zarządzanie obiektami plików
4. os.popen (): Ta metoda otwiera potok do lub z polecenia. Zwracaną wartość można odczytać lub zapisać w zależności od tego, czy tryb to ' r ' lub ' w '.
Składnia:
os.popen (polecenie [, tryb [, rozmiar bufora]])
Parametry trybu i amp ; bufsize nie są wymaganymi parametrami, jeśli nie są podane, tryb jest domyślnie ustawiony na "r".
import
os
fd
=
" GFG .txt ”
# popen() jest jak open()
file
=
open
(fd,
`w`
)
file
. write (
"Hello"
)
plik
. close ()
plik
=
open
(fd,
`r`
)
tekst
=
file
. read ()
print
(text )
< br> # popen() udostępnia kanał/bramę i uzyskuje bezpośredni dostęp do pliku
plik
=
os.popen (fd ,
`w`
)
plik
. write (
"Witaj"
)
# Plik niezamknięty, wyświetlany w następującej funkcji.
Wyjście:
Witaj
Uwaga: Popen wyjścia () nie zostanie pokazane, w pliku zostaną wprowadzone bezpośrednie zmiany.
5. os.close (): Zamknij deskryptor pliku fd. Plik otwarty za pomocą open() można zamknąć tylko za pomocą close (). Ale plik otwarty za pomocą os.popen() można zamknąć za pomocą close() lub os.close(). Jeśli spróbujemy zamknąć plik otwarty za pomocą open() za pomocą os.close(), Python zgłosi błąd TypeError.
import
os
fd
=
"GFG.txt"
plik
=
open
(fd,
`r`
)
tekst
=
plik
. przeczytaj ()
drukuj
(tekst)
os.close (
plik
)
Exit:
Traceback (ostatnie wywołanie): Plik „C: UsersGFGDesktopGeeksForGeeksOSFile.py”, wiersz 6, w os.close (plik) TypeError: liczba całkowita to wymagane (got type _io.TextIOWrapper)
Uwaga: ten sam błąd nie może zostać zgłoszony z powodu braku uprawnień do plików lub uprawnień.
6. os.rename (): nazwę starego pliku.txt można zmienić na nowy.txt za pomocą funkcji os.rename (). Nazwa pliku zmienia się tylko wtedy, gdy plik istnieje, a użytkownik ma wystarczające uprawnienia do jego modyfikacji.
import
os
fd
=
" GFG .txt "
os.rename (fd,
` New.txt`
)
os.rename (fd,
`Nowe .txt`
)
Wyjście:
Traceback (większość ostatnie wywołanie: Plik „C: UsersGFGDesktopModuleOSGeeksForGeeksOSFile.py”, wiersz 3, w os.rename (fd, „New.txt”) FileNotFoundError: [WinError 2] System nie może znaleźć określonego pliku: „GFG.txt” - > `Nowy.txt`
Zrozumienie danych wyjściowych: nazwa pliku" GFG.txt "istnieje , więc przy pierwszym użyciu os.rename() nazwa pliku zostanie zmieniona. Po ponownym wywołaniu funkcji os.rename() plik „New.txt” istnieje, a nie „GFG.txt”
dlatego Python zgłasza błąd FileNotFoundError.
Link: https://docs.python.org/2/library/os.html
Ten artykuł został dostarczony przez Piyush Doorvar. Jeśli jesteś Python.Engineering i chcesz wnieść swój wkład, możesz również napisać artykuł, korzystając z Contribute.python.engineering lub publikując artykuł przyczynić się @ python.engineering. Zobacz mój artykuł zamieszczony na stronie głównej Python.Engineering i pomóż innym geekom.
Proszę publikować komentarze, jeśli znajdziesz coś nie tak lub jeśli chcesz udostępnić więcej informacji na temat omówiony powyżej.