Python Language
os.path
Szukaj…
Wprowadzenie
Ten moduł implementuje przydatne funkcje w ścieżkach. Parametry ścieżki można przekazać jako ciągi lub bajty. Zachęca się aplikacje do przedstawiania nazw plików jako ciągów znaków (Unicode).
Składnia
- os.path.join (a, * p)
- os.path.basename (p)
- os.path.dirname (p)
- os.path.split (p)
- os.path.splitext (p)
Dołącz do ścieżek
Aby połączyć dwa lub więcej komponentów ścieżki razem, najpierw zaimportuj moduł OS Pythona, a następnie użyj następującego polecenia:
import os
os.path.join('a', 'b', 'c')
Zaletą używania os.path jest to, że pozwala on zachować zgodność kodu we wszystkich systemach operacyjnych, ponieważ wykorzystuje on separator odpowiedni dla platformy, na której działa.
Na przykład wynikiem tego polecenia w systemie Windows będzie:
>>> os.path.join('a', 'b', 'c')
'a\b\c'
W systemie operacyjnym Unix:
>>> os.path.join('a', 'b', 'c')
'a/b/c'
Ścieżka bezwzględna ze ścieżki względnej
Użyj os.path.abspath
:
>>> os.getcwd()
'/Users/csaftoiu/tmp'
>>> os.path.abspath('foo')
'/Users/csaftoiu/tmp/foo'
>>> os.path.abspath('../foo')
'/Users/csaftoiu/foo'
>>> os.path.abspath('/foo')
'/foo'
Manipulacja komponentem ścieżki
Aby podzielić jeden składnik ze ścieżki:
>>> p = os.path.join(os.getcwd(), 'foo.txt')
>>> p
'/Users/csaftoiu/tmp/foo.txt'
>>> os.path.dirname(p)
'/Users/csaftoiu/tmp'
>>> os.path.basename(p)
'foo.txt'
>>> os.path.split(os.getcwd())
('/Users/csaftoiu/tmp', 'foo.txt')
>>> os.path.splitext(os.path.basename(p))
('foo', '.txt')
Pobierz katalog nadrzędny
os.path.abspath(os.path.join(PATH_TO_GET_THE_PARENT, os.pardir))
Jeśli podana ścieżka istnieje.
aby sprawdzić, czy dana ścieżka istnieje
path = '/home/john/temp'
os.path.exists(path)
#this returns false if path doesn't exist or if the path is a broken symbolic link
sprawdź, czy podana ścieżka jest katalogiem, plikiem, dowiązaniem symbolicznym, punktem montowania itp.
aby sprawdzić, czy podana ścieżka jest katalogiem
dirname = '/home/john/python'
os.path.isdir(dirname)
aby sprawdzić, czy podana ścieżka jest plikiem
filename = dirname + 'main.py'
os.path.isfile(filename)
aby sprawdzić, czy dana ścieżka jest dowiązaniem symbolicznym
symlink = dirname + 'some_sym_link'
os.path.islink(symlink)
aby sprawdzić, czy podana ścieżka jest punktem montowania
mount_path = '/home'
os.path.ismount(mount_path)