Как получить путь к файлу python

Обновлено: 21.11.2024

В Windows полный путь к каталогу начинается с буквы диска (C:, D: и т. д.). В Linux и OS-X он начинается с «/», что называется root. Каталоги разделяются косой чертой «/». Вы можете найти полный путь к каталогу и имя файла через его «Свойства». Посмотрите, как это делается, в этом FAQ.

Ссылка на файл в Windows

  • Python позволяет использовать косую черту "/" в стиле OS-X/Linux даже в Windows. Поэтому вы можете ссылаться на файл как 'C:/Users/narae/Desktop/alice.txt'. РЕКОМЕНДУЕТСЯ.
  • При использовании обратной косой черты, так как это специальный символ в Python, вы должны помнить об экранировании каждого экземпляра: 'C:\\Users\\narae\\Desktop\\alice.txt'< /li>
  • В качестве альтернативы вы можете поставить перед всей строкой имени файла маркер необработанной строки "r": r'C:\Users\narae\Desktop\alice.txt'. Таким образом, все в строке интерпретируется как буквальный символ, и вам не нужно экранировать каждую обратную косую черту.

Сочетания имен файлов и CWD (текущий рабочий каталог)

Таким образом, использование полного пути к каталогу и имени файла всегда работает; вы должны использовать этот метод. Однако вы могли видеть файлы, называемые только по имени, например, 'alice.txt' в Python. Как это делается?

Концепция текущего рабочего каталога (CWD) здесь имеет решающее значение. Вы можете думать об этом как о папке, в которой в данный момент работает ваш Python. До сих пор мы использовали абсолютный путь, который начинается с самого верхнего каталога. Но если ваша ссылка на файл не начинается сверху (например, 'alice.txt', 'ling1330/alice.txt'), Python предполагает, что она начинается в CWD ("относительный путь").

    В сценарии Python:
    Когда вы выполняете свой сценарий, ваш CWD устанавливается в каталог, где находится ваш сценарий. Таким образом, вы можете обращаться к файлу в скрипте по его имени только при условии, что файл и скрипт находятся в одном каталоге. Пример:

  1. Измените CWD на каталог файла или
  2. Скопируйте или переместите файл на CWD. (Не рекомендуется, так как CWD вашей оболочки может измениться.)

Поиск и изменение CWD

В Python вы можете получить расположение (путь) исполняемого файла скрипта .py с помощью __file__ . __file__ полезен для чтения других файлов в зависимости от местоположения работающего файла.

В Python 3.8 и более ранних версиях __file__ возвращает путь, указанный при выполнении команды python (или python3 ). Если вы укажете относительный путь, будет возвращен относительный путь. Если указать абсолютный путь, будет возвращен абсолютный путь.

В Python 3.9 и более поздних версиях __file__ всегда возвращает абсолютный путь, независимо от того, является ли путь, указанный с помощью команды python, относительным или абсолютным.

В этой статье описывается следующее содержание.

  • os.getcwd() и __file__
  • Получить имя файла и имя каталога исполняемого файла
  • Получить абсолютный путь к запущенному файлу
  • Чтение других файлов в зависимости от местоположения запущенного файла
  • Изменить текущий каталог на каталог работающего файла
  • Читать один и тот же файл независимо от текущего рабочего каталога

См. следующую статью, чтобы узнать, как получить и изменить текущий рабочий каталог.

os.getcwd() и __file__

Предположим, вы работаете в следующем каталоге. В Windows вы можете проверить текущий каталог с помощью команды dir вместо pwd .

Создайте файл скрипта Python ( file_path.py ) со следующим кодом в нижнем каталоге ( data/src ).

Запустите его с помощью команды python (или python3 ).

Вы можете получить абсолютный путь к текущему рабочему каталогу с помощью os.getcwd() и путь, указанный с помощью команды python3, с помощью __file__ .

В Python 3.8 и более ранних версиях путь, указанный командой python (или python3 ), хранится в __file__ . В приведенном выше примере указан относительный путь, поэтому возвращается относительный путь, но если указан абсолютный путь, возвращается абсолютный путь.

В Python 3.9 и более поздних версиях __file__ всегда возвращает абсолютный путь, независимо от того, является ли путь, указанный с помощью команды python, относительным или абсолютным.

В следующих примерах добавьте код в тот же файл сценария ( file_path.py ) и выполните его из того же каталога, что и в приведенном выше примере в Python 3.7.

Обратите внимание, что если __file__ является абсолютным путем (в Python 3.9 или более поздней версии или при указании абсолютного пути в Python 3.8 или более ранней версии), вы можете использовать тот же код, как описано ниже, для чтения других файлов на основе местоположения исполняемый файл сценария. Результаты выполнения с указанием абсолютного пути в Python3.7 показаны в конце.

Получить имя файла и имя каталога исполняемого файла

Используйте os.path.basename() , os.path.dirname(), чтобы получить имя файла и имя каталога работающего файла.

Результат следующий.

Подробнее об os.path.basename() , os.path.dirname() и т. д. см. в следующей статье

Получить абсолютный путь к запущенному файлу

Если вы получаете относительный путь с помощью __file__ , вы можете преобразовать его в абсолютный путь с помощью os.path.abspath() .

Результат следующий.

Если вы укажете абсолютный путь в os.path.abspath() , он будет возвращен как есть, поэтому, если __file__ является абсолютным путем, ошибка не возникнет, даже если вы установите os.path.abspath(__file__) .

Чтение других файлов в зависимости от местоположения запущенного файла

Если вы хотите прочитать другие файлы на основе местоположения (пути) работающего файла, соедините путь каталога рабочего файла и относительный путь (из рабочего файла) файла, который вы хотите прочитать, с помощью os. путь.присоединиться() .

Обратите внимание, что файлы в том же каталоге, что и работающий файл, можно прочитать, указав только имя файла.

Результат следующий.

Верхний каталог представлен ../ . Проблем как таковых нет, но если вы используете os.path.normpath() , вы можете нормализовать путь и удалить лишние ../ и т.д.

Результат следующий.

Изменить текущий каталог на каталог работающего файла

Вы можете подтвердить, что он был изменен с помощью os.getcwd() .

Результат следующий.

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

Результат следующий.

Чтение одного и того же файла независимо от текущего рабочего каталога

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

Как показано выше, есть два способа:

  • Присоединитесь к каталогу __file__ и относительному пути (от __file__ ) файла, который вы хотите прочитать, с помощью os.path.join()
  • Изменить текущий рабочий каталог на каталог __file__

Легче изменить текущий каталог, но, конечно, если вы читаете или записываете файлы после этого, вам нужно учитывать, что текущий каталог был изменен.

Результат приведенных примеров выглядит следующим образом.

Результат указания абсолютного пути с помощью команды python3 выглядит следующим образом. Этот же файл можно прочитать.

Измените текущий каталог в терминале и выполните тот же файл сценария. Вы видите, что один и тот же файл можно прочитать из разных мест.

В Python мы можем работать со многими файлами и модулями и постоянно взаимодействовать с файловой системой. Чтобы импортировать или экспортировать файлы, нам нужно знать правильный путь и каталог таких файлов; в противном случае возникают ошибки. Также важно знать путь к запущенному в данный момент скрипту Python или путь к какому-либо другому файлу.

Текущий рабочий каталог — это каталог Python, в котором мы сейчас работаем.

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

Использование модуля pathlib для получения пути к файлам и текущей рабочей директории

Библиотека pathlib доступна для Python 3.x и выше и содержит классы и методы для решения проблем, связанных с путями к файлам.

В приведенном ниже коде мы извлечем путь к скрипту Python, используя функции, предоставляемые модулем pathlib:

Метод absolute() возвращает полный путь к файлу, а функция parent() извлекает каталог файла по этому пути.

Чтобы получить текущий рабочий каталог, мы удаляем имя файла из указанной выше функции. Следующий код показывает, как это сделать:

Используйте модуль os для получения пути к файлам и текущего рабочего каталога

Библиотека os используется для взаимодействия с операционной системой и имеет функции, доступные для получения полных путей к файлам. Этот метод работает и с Python 2.x.

Функция abspath() может получить путь к требуемому файлу, а функция dirname() получает каталог из полного пути.

Мы не можем напрямую использовать функцию dirname() для получения каталога файла, поскольку она возвращает пустую строку.

Мы также можем использовать функцию realpath() в качестве альтернативы функции abspath(). Он удаляет из пути все символические ссылки, если они есть.

Чтобы получить текущий рабочий каталог, мы можем использовать функцию getcwd(), которая возвращает текущий путь к каталогу. Мы можем передать этот путь функции dirname(), чтобы получить каталог.

Статьи DelftStack написаны такими же фанатами программного обеспечения, как и вы. Если вы также хотите внести свой вклад в DelftStack, написав платные статьи, вы можете посетить страницу «Написать для нас».

Статья по теме — Путь Python

сообщить об этом объявлении

Исходный код: Lib/posixpath.py (для POSIX) и Lib/ntpath.py (для Windows NT).

Этот модуль реализует некоторые полезные функции для путей. Для чтения или записи файлов см. open() , а для доступа к файловой системе см. модуль os. Параметры пути могут передаваться как строки или байты. Приложениям рекомендуется представлять имена файлов в виде строк символов (Unicode). К сожалению, некоторые имена файлов не могут быть представлены в виде строк в Unix, поэтому приложения, которым необходимо поддерживать произвольные имена файлов в Unix, должны использовать объекты bytes для представления имен путей. И наоборот, использование объектов bytes не может представлять все имена файлов в Windows (в стандартной кодировке mbcs), поэтому приложения Windows должны использовать строковые объекты для доступа ко всем файлам.

В отличие от оболочки unix, Python не выполняет никаких автоматических расширений пути. Такие функции, как expanduser() и expandvars(), могут быть вызваны явно, когда приложению требуется расширение пути, подобное оболочке. (См. также модуль glob.)

Модуль pathlib предлагает высокоуровневые объекты пути.

Все эти функции принимают в качестве параметров либо только байты, либо только строковые объекты. Результатом является объект того же типа, если возвращается путь или имя файла.

Поскольку разные операционные системы используют разные соглашения об именах путей, в стандартной библиотеке есть несколько версий этого модуля. Модуль os.path всегда является модулем пути, подходящим для операционной системы, в которой работает Python, и поэтому может использоваться для локальных путей. Однако вы также можете импортировать и использовать отдельные модули, если хотите управлять путем, который всегда находится в одном из различных форматов. Все они имеют одинаковый интерфейс:

posixpath для путей в стиле UNIX

ntpath для путей Windows

Изменено в версии 3.8. Уровень ОС.

Возвращает нормализованную абсолютизированную версию пути path. На большинстве платформ это эквивалентно вызову функции normpath() следующим образом: normpath(join(os.getcwd(), path)) .

Изменено в версии 3.6: принимает объект, подобный пути .

Возвращает базовое имя пути path. Это второй элемент пары, возвращаемый путем передачи path в функцию split() . Обратите внимание, что результат этой функции отличается от программы базового имени Unix; где basename для '/foo/bar/' возвращает 'bar' , функция basename() возвращает пустую строку ( '' ).

Изменено в версии 3.6: принимает объект, подобный пути .

Возвращает самый длинный общий вложенный путь каждого имени пути в последовательности paths. Поднимите ValueError, если paths содержит как абсолютные, так и относительные пути, paths находятся на разных дисках или если paths пуст. В отличие от commonprefix(), возвращает правильный путь.

Новое в версии 3.5.

Изменено в версии 3.6: принимает последовательность объектов, подобных пути .

Возвращает самый длинный префикс пути (взятый посимвольно), который является префиксом всех путей в списке. Если список пуст, вернуть пустую строку ( '' ).

Эта функция может возвращать недопустимые пути, поскольку она работает с символами за раз. Чтобы получить правильный путь, см. commonpath() .

Изменено в версии 3.6: принимает объект, подобный пути .

Возвращает имя каталога пути путь. Это первый элемент пары, возвращаемый путем передачи path в функцию split() .

Изменено в версии 3.6: принимает объект, подобный пути .

Возвращает значение True, если путь указывает на существующий путь или дескриптор открытого файла. Возвращает False для неработающих символических ссылок. На некоторых платформах эта функция может возвращать значение False, если не предоставлено разрешение на выполнение os.stat() для запрошенного файла, даже если путь физически существует.

Изменено в версии 3.3: path теперь может быть целым числом: True возвращается, если это дескриптор открытого файла, False в противном случае.

Изменено в версии 3.6: принимает объект, подобный пути .

Возвращает значение True, если путь указывает на существующий путь. Возвращает True для неработающих символических ссылок. Эквивалент exists() на платформах, где отсутствует os.lstat() .

Изменено в версии 3.6: принимает объект, подобный пути .

В Unix и Windows верните аргумент с начальным компонентом ~ или ~user, замененным домашним каталогом этого пользователя.

В Unix начальный символ ~ заменяется переменной окружения HOME, если она установлена; в противном случае домашний каталог текущего пользователя ищется в каталоге паролей с помощью встроенного модуля pwd. Исходный ~пользователь ищется непосредственно в каталоге паролей.

В Windows будет использоваться USERPROFILE, если он установлен, в противном случае будет использоваться комбинация HOMEPATH и HOMEDRIVE. Начальный ~user обрабатывается путем проверки того, что последний компонент каталога домашнего каталога текущего пользователя соответствует USERNAME , и заменяет его, если это так.

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

Изменено в версии 3.6: принимает объект, подобный пути .

Изменено в версии 3.8: больше не использует HOME в Windows.

Возвращает аргумент с развернутыми переменными среды. Подстроки вида $name или $ заменяются значением переменной среды name. Неверные имена переменных и ссылки на несуществующие переменные остаются без изменений.

В Windows поддерживаются расширения %name% в дополнение к $name и $ .

Изменено в версии 3.6: принимает объект, подобный пути .

Возвращает время последнего доступа к path. Возвращаемое значение представляет собой число с плавающей запятой, указывающее количество секунд, прошедших с начала эпохи (см. модуль времени). Поднимите OSError, если файл не существует или недоступен.

os.path. getmtime ( путь ) ¶

Возвращает время последнего изменения пути. Возвращаемое значение представляет собой число с плавающей запятой, указывающее количество секунд, прошедших с начала эпохи (см. модуль времени). Поднимите OSError, если файл не существует или недоступен.

Изменено в версии 3.6: принимает объект, подобный пути .

Возвращает ctime системы, которое в некоторых системах (например, Unix) является временем последнего изменения метаданных, а в других (например, Windows) — временем создания path. Возвращаемое значение — это число, указывающее количество секунд, прошедших с начала эпохи (см. модуль времени). Поднимите OSError, если файл не существует или недоступен.

Изменено в версии 3.6: принимает объект, подобный пути .

Возвращает размер path в байтах. Поднимите OSError, если файл не существует или недоступен.

Изменено в версии 3.6: принимает объект, подобный пути .

Возвращает True, если path является абсолютным путем. В Unix это означает, что он начинается с косой черты, а в Windows — с (обратной) косой черты после отсечения потенциальной буквы диска.

Изменено в версии 3.6: принимает объект, подобный пути .

Возвращает значение True, если путь является существующим обычным файлом. Это следует за символическими ссылками, поэтому и islink(), и isfile() могут быть истинными для одного и того же пути.

Изменено в версии 3.6: принимает объект, подобный пути .

Возвращает значение True, если путь является существующим каталогом. Это следует за символическими ссылками, поэтому и islink(), и isdir() могут быть истинными для одного и того же пути.

Изменено в версии 3.6: принимает объект, подобный пути .

Возвращает значение True, если путь указывает на существующую запись каталога, являющуюся символической ссылкой. Всегда False, если символические ссылки не поддерживаются средой выполнения Python.

Изменено в версии 3.6: принимает объект, подобный пути .

Возвратите True, если путь путь является точкой монтирования: точкой в ​​файловой системе, где была смонтирована другая файловая система. В POSIX функция проверяет, находится ли родительский элемент path, path /.., на устройстве, отличном от path, или path /.. и path указывают на один и тот же i-узел на одном и том же устройстве — это должно определять точки монтирования для всех вариантов Unix и POSIX. Он не может надежно обнаружить монтирование привязки в той же файловой системе. В Windows корневая буква диска и UNC общего ресурса всегда являются точками подключения, а для любого другого пути вызывается GetVolumePathName, чтобы проверить, отличается ли он от входного пути.

Новое в версии 3.4: поддержка обнаружения точек монтирования без полномочий root в Windows.

Изменено в версии 3.6: принимает объект, подобный пути .

Разумно присоединяйтесь к одному или нескольким компонентам пути. Возвращаемое значение представляет собой конкатенацию path и любых элементов *paths с ровно одним разделителем каталогов после каждой непустой части, кроме последней, что означает, что результат будет только в разделителе, если последняя часть пуста. Если компонент является абсолютным путем, все предыдущие компоненты отбрасываются, и соединение продолжается с компонента абсолютного пути.

В Windows буква диска не сбрасывается при обнаружении компонента абсолютного пути (например, r'\foo' ). Если компонент содержит букву диска, все предыдущие компоненты удаляются, а буква диска сбрасывается. Обратите внимание, что поскольку для каждого диска существует текущий каталог, os.path.join("c:", "foo") представляет путь относительно текущего каталога на диске C: ( c:foo ), а не c:\foo .

Изменено в версии 3.6: принимает объект, подобный пути, для path и paths.

Нормализуйте регистр имени пути. В Windows преобразуйте все символы в имени пути в нижний регистр, а также преобразуйте косую черту в обратную косую черту. В других операционных системах верните путь без изменений.

Изменено в версии 3.6: принимает объект, подобный пути .

Нормализуйте имя пути, удалив лишние разделители и ссылки более высокого уровня, чтобы A//B , A/B/ , A/./B и A/foo/../B стали A/B . Эта манипуляция со строкой может изменить значение пути, содержащего символические ссылки.В Windows он преобразует прямую косую черту в обратную косую черту. Чтобы нормализовать регистр, используйте normcase() .

В системах POSIX в соответствии со стандартом IEEE Std 1003.1, редакция 2013 г.; 4.13 Разрешение имени пути: если имя пути начинается ровно с двух косых черт, первый компонент, следующий за начальными символами, может интерпретироваться способом, определяемым реализацией, хотя более двух начальных символов должны рассматриваться как один символ.

Изменено в версии 3.6: принимает объект, подобный пути .

Возвращает канонический путь к указанному имени файла, исключая любые символические ссылки, встречающиеся в пути (если они поддерживаются операционной системой).

Если путь не существует или встречается цикл символической ссылки, а strict имеет значение True , возникает ошибка OSError. Если strict имеет значение False , путь разрешается, насколько это возможно, и любой остаток добавляется без проверки его существования.

Эта функция эмулирует процедуру операционной системы для создания канонического пути, которая немного отличается в Windows и UNIX в отношении того, как взаимодействуют ссылки и последующие компоненты пути.

API операционной системы делают пути каноническими по мере необходимости, поэтому обычно нет необходимости вызывать эту функцию.

Изменено в версии 3.6: принимает объект, подобный пути .

Изменено в версии 3.8: символические ссылки и соединения теперь разрешаются в Windows.

Изменено в версии 3.10: добавлен параметр strict.

Возвращает относительный путь к файлу в путь либо из текущего каталога, либо из необязательного начального каталога. Это вычисление пути: к файловой системе не обращаются для подтверждения существования или природы path или start. В Windows возникает ошибка ValueError, когда path и start находятся на разных дисках.

Изменено в версии 3.6: принимает объект, подобный пути .

Возвращает значение True, если оба аргумента имени пути относятся к одному и тому же файлу или каталогу. Это определяется номером устройства и номером i-узла и вызывает исключение, если вызов os.stat() для любого имени пути завершается неудачно.

Изменено в версии 3.2: добавлена ​​поддержка Windows.

Изменено в версии 3.4: Windows теперь использует ту же реализацию, что и все другие платформы.

Изменено в версии 3.6: принимает объект, подобный пути .

Возвращает значение True, если файловые дескрипторы fp1 и fp2 ссылаются на один и тот же файл.

Изменено в версии 3.2: добавлена ​​поддержка Windows.

Изменено в версии 3.6: принимает объект, подобный пути .

Возвращает значение True, если кортежи статистики stat1 и stat2 ссылаются на один и тот же файл. Эти структуры могли быть возвращены функциями os.fstat(), os.lstat() или os.stat(). Эта функция реализует базовое сравнение, используемое функциями samefile() и sameopenfile().

Изменено в версии 3.4: добавлена ​​поддержка Windows.

Изменено в версии 3.6: принимает объект, подобный пути .

Разделите путь path на пару (head, tail), где tail — последний компонент пути, а head — все, что предшествует к тому, что. Часть хвост никогда не будет содержать косую черту; если path заканчивается косой чертой, tail будет пустым. Если в path нет косой черты, head будет пустым. Если path пуст, то и head, и tail пусты. Конечная косая черта удаляется из head, если только это не корень (только одна или несколько косых черт). Во всех случаях join(head, tail) возвращает путь к тому же местоположению, что и path (но строки могут отличаться). Также см. функции dirname() и basename() .

Изменено в версии 3.6: принимает объект, подобный пути .

Разделите имя пути path на пару (диск, хвост), где диск – это либо точка монтирования, либо пустая строка. В системах, не использующих спецификации диска, диск всегда будет пустой строкой. Во всех случаях диск + хвост будет таким же, как путь.

В Windows разделяет путь на диск/UNC точку доступа и относительный путь.

Если путь содержит букву диска, диск будет содержать все до двоеточия включительно:

Если путь содержит путь UNC, диск будет содержать имя хоста и общий ресурс, вплоть до четвертого разделителя, но не включая его:

Изменено в версии 3.6: принимает объект, подобный пути .

Разделите путь path на пару (root, ext) таким образом, чтобы root + ext == path , а расширение ext было пустым или начиналось с период и содержит не более одного периода.

Если путь не содержит расширения, ext будет '' :

Если путь содержит расширение, то ext будет установлено на это расширение, включая начальную точку. Обратите внимание, что предыдущие периоды будут игнорироваться:

Ведущие точки последнего компонента пути считаются частью корня:

Изменено в версии 3.6: принимает объект, подобный пути .

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

Вы можете использовать несколько способов получить имя файла из пути к файлу. Python предоставляет множество модулей, таких как модули os, pathlib и ntpath, которые могут помочь вам получить имя файла из входного пути к файлу. Давайте рассмотрим различные способы извлечения имени файла из пути к файлу.

Python получает имя файла из пути

Чтобы получить имя файла из пути в Python, используйте функцию os.path.basename(). os.path.basename() — это встроенная функция Python, используемая для получения базового имени по указанному пути.

Есть альтернативный способ. Вы также можете использовать метод os.path.split(), чтобы получить имя файла из пути. Другой модуль, называемый pathlib в Python, предоставляет функцию Path().name, которую можно использовать для извлечения имени файла из пути к файлу.

Использование метода os.path.basename()

Чтобы получить имя файла из пути, используйте метод os.path.basename(). При работе с UNIX или MacOS в качестве разделителя пути используется косая черта /, а в Windows в качестве разделителя используется обратная косая черта \.

Синтаксис

Аргументы

Метод basename() принимает один объект, похожий на путь, представляющий путь к файловой системе.

Пример

Чтобы использовать функцию basename(), импортируйте модуль os в начало файла.

Следующий шаг – определение пути к файлу.

Из пути к файлу видно, что имя файла — app.py. Чтобы извлечь это из пути к файлу, используйте функцию os.path.basename().

Вывод

Из вывода видно, что мы получили именно то, что просили. Когда метод os.path.basename() используется в системе POSIX для получения базового имени из пути в стиле Windows; будет возвращен полный путь.

Универсальное решение для получения имени файла из пути к файлу

Модуль os.path отлично работает в MacOS, но не в ОС Linux или Windows. Если вы запускаете свой скрипт Python в Linux и пытаетесь обработать классический путь в стиле Windows, это не удастся.

Вот почему вы можете использовать модуль ntpath (эквивалентный os.path при работе в Windows), который будет работать для всех путей на всех платформах.

Модуль ntpath обеспечивает функциональность os.path на любой платформе. Вы также можете использовать его для обработки путей Windows или других платформ.

Для работы с модулем ntpath вам необходимо импортировать его в свой файл, а затем использовать функцию ntpath.basename().

Вывод

Использование метода os.path.split()

os.path.split() — это встроенный метод Python, используемый для разделения имени пути на пару «голова» и «конец». Хвостовая часть будет нашим именем файла.

Синтаксис

Аргументы

Метод os.path.split() принимает объект, похожий на путь, представляющий путь к файловой системе.

Пример

Метод os.path.split() возвращает начало и конец. Хвост — это имя файла, а голова — это путь к файлу, и нас интересует имя файла.

Вывод

Как видите, метод split() возвращает значения начала и конца, и мы напечатали хвост, то есть имя файла.

Использование функции pathlib.Path().name

Модуль pathlib позволяет использовать классы, представляющие пути файловой системы с семантикой, подходящей для разных операционных систем. Например, метод Path() возвращает полный путь к файлу, а затем вы можете применить к нему свойство name, которое вернет имя файла.

Вывод

Это все, что нужно для получения имени файла из пути в Python.

См. также

Крунал Латия – инженер по информационным технологиям. По профессии он веб-разработчик со знанием нескольких внутренних платформ (например, PHP, Node.js, Python) и интерфейсных сред JavaScript (например, Angular, React и Vue).

Читайте также: