Модуль os.path() в Python3

Python3 OS 文件/目录方法Методы файлов/каталогов Python3 OS


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

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

os.pathМодуль хорошо работает в кроссплатформенных операционных системах, что позволяет одному и тому же коду решать вопросы, связанные с путями, при работе в разных операционных системах (например, Windows, Linux, macOS).

Ниже приведены несколько часто используемых методов модуля os.path:

Операции с путями

Метод Описание
os.path.abspath(path) Преобразовать относительный путь в абсолютный путь.
os.path.basename(path) Получить последнюю часть пути, то есть имя файла.
os.path.dirname(path) Получить часть пути, соответствующую каталогу.
os.path.join(*paths) Объединить несколько путей, автоматически обрабатывая разделители путей.
os.path.split(path) Разделить путь на кортеж из каталога и имени файла.
os.path.splitext(path) Разделить путь на кортеж из имени файла и расширения.

Получение информации о пути

Метод Описание
os.path.exists(path) Определить, существует ли путь.
os.path.isfile(path) Определить, является ли путь файлом.
os.path.isdir(path) Определить, является ли путь каталогом.
os.path.getsize(path) Получить размер файла в байтах.
os.path.getatime(path) Получить время последнего доступа к файлу.
os.path.getmtime(path) Получить время последнего изменения файла.
os.path.getctime(path) Получить время создания файла (в некоторых операционных системах это обозначает время последнего изменения состояния).

Нормализация пути

Метод Описание
os.path.normpath(path) Нормализовать путь, удалив избыточные разделители и маркеры относительного пути.
os.path.realpath(path) Получить реальный путь файла, разрешив символические ссылки.
os.path.relpath(path, start=os.curdir) Вычислить относительный путь, отstartвpath。

Сравнение путей

Метод Описание
os.path.commonpath(paths) Вернуть общий путь в последовательности путей.
os.path.commonprefix(list) Вернуть самый длинный общий префикс в последовательности путей.
os.path.samefile(path1, path2) Определить, указывают ли два пути на один и тот же файл.
os.path.sameopenfile(fp1, fp2) Определить, указывают ли два открытых файловых объекта на один и тот же файл.
os.path.samestat(stat1, stat2) Определить, имеют ли два файла одинаковыйstatстатус.

Платформозависимые функции

Метод Описание
os.path.splitdrive(path) В Windows возвращает кортеж из части диска/устройства и части пути.
os.path.splitunc(path) Разделить объединённые части устройства и пути в пути (только для Windows).

Пример

В следующем примере демонстрируется использование методов, связанных с os.path:

Пример

#!/usr/bin/env python

import os.path

# имя текущего файла
print(__file__)

# абсолютный путь текущего имени файла
print( os.path.abspath(__file__) )

# возвращает путь текущего файла
print(os.path.dirname( os.path.abspath(__file__) ))

В следующем примере выводится информация о файлах.

test.py
/example/example-test-py/test.py
/example/example-test-py

Пример

#!/usr/bin/python3 import os print( os.path.basename('/root/example.txt') ) # возвращает имя файла print( os.path.dirname('/root/example.txt') ) # возвращает путь каталога print( os.path.split('/root/example.txt') ) # разделяет имя файла и путь print( os.path.join('root','test','example.txt') ) # объединяет каталог и имя файла в путь

运行上述程序的输出是:

example.txt
/root
('/root', 'example.txt')
root/test/example.txt

В следующем примере выводится информация о файлах.

Пример

import os import time file='/root/example.txt' # путь к файлу print( os.path.getatime(file) ) # выводит время последнего доступа print( os.path.getctime(file) ) # выводит время создания файла print( os.path.getmtime(file) ) # выводит время последнего изменения print( time.gmtime(os.path.getmtime(file)) ) # выводит время последнего изменения в форме struct_time print( os.path.getsize(file) ) # выводит размер файла (в байтах) print( os.path.abspath(file) ) # выводит абсолютный путь print( os.path.normpath(file) ) # нормализовать строковую форму пути

运行上述程序的输出是:

1539052805.5735736
1539052805.5775735
1539052805.5735736
time.struct_time(tm_year=2018, tm_mon=10, tm_mday=9, tm_hour=2, tm_min=40, tm_sec=5, tm_wday=1, tm_yday=282, tm_isdst=0)
7
/root/example.txt
/root/example.txt

Python3 OS 文件/目录方法Методы файлов/каталогов Python3 OS

Другие расширения