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)


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow