Поиск…


Вступление

Этот модуль реализует некоторые полезные функции для путей. Параметры пути могут передаваться как строки, так и байты. Приложениям рекомендуется представлять имена файлов в виде (Unicode) символьных строк.

Синтаксис

  • os.path.join (a, * p)
  • os.path.basename (р)
  • os.path.dirname (р)
  • os.path.split (р)
  • os.path.splitext (р)

Присоединительные пути

Чтобы объединить два или более компонентов пути вместе, сначала импортируйте os-модуль python, а затем используйте следующее:

import os
os.path.join('a', 'b', 'c')

Преимущество использования os.path заключается в том, что он позволяет коду оставаться совместимым во всех операционных системах, поскольку в нем используется разделитель, подходящий для платформы, на которой он работает.

Например, результатом этой команды в Windows будет:

>>> os.path.join('a', 'b', 'c')
'a\b\c'

В ОС Unix:

>>> os.path.join('a', 'b', 'c')
'a/b/c'

Абсолютный путь от относительного пути

Использовать 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'

Манипуляция компонентов пути

Чтобы разбить один компонент на путь:

>>> 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')

Получить родительский каталог

os.path.abspath(os.path.join(PATH_TO_GET_THE_PARENT, os.pardir))

Если данный путь существует.

проверить, существует ли данный путь

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

проверьте, является ли данный путь каталогом, файлом, символической ссылкой, точкой монтирования и т. д.

проверить, является ли данный путь каталогом

dirname = '/home/john/python'
os.path.isdir(dirname)

чтобы проверить, является ли данный путь файлом

filename = dirname + 'main.py'
os.path.isfile(filename)

чтобы проверить, является ли данный путь символической ссылкой

symlink = dirname + 'some_sym_link'
os.path.islink(symlink)

чтобы проверить, является ли данный путь точкой монтирования

mount_path = '/home'
os.path.ismount(mount_path)


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow