Введение
Этот учебник поможет вам использовать модуль Pathlib для работы с путями файловой системы, преимуществам и пониманию проблемы, которую он решает, поскольку стандартная библиотека Python уже содержит OS.Path.
Как лучше, чем os.path
OS.Path
был единственным способом поработать с путями файловой системы, но у него были некоторые ограничения. Чтобы выполнить определенные задачи, вы должны импортировать из других стандартных библиотечных модулей. Например, предположим, вы хотите перечислить файлы, заканчивающиеся .текст
в каталоге, OS.Path
недостаточно.
Используя OS.Path
, вы сделаете это:
import os import glob list(glob(os.path.join('posts', '*.md')))
Используя pathlib
, вы сделаете это:
from pathlib import Path list(Path('posts').glob('*.md'))
Из первого примера, который использует OS.Path
, была необходимость импортировать глобус
. Но с pathlib
, большая часть функциональности, обнаруженных в других модулях, сейчас находится в одном месте.
Начиная
from pathlib import Path
Согласно стандартной библиотеке, Path создает конкретный путь для платформы, на которой работает ваш код. Это в основном означает, что класс пути выясняет необходимый сепаратор пути, который необходим для платформы, на которой работает ваш код.
NB: Windows использует Backslash в качестве разделителя пути, в то время как системы на основе UNIX используют прямую черту.
Есть и другие классы, которые могут быть использованы, такие как WindowsPath
и Posixpath
Использование классов -матодов пути
Path.home() PosixPath('/home/ashiri') Path.cwd() PosixPath('/home/ashiri/iyanuashiri/content/posts')
Класс пути предоставляет нам два класса. Главная
ClassMethod возвращает объект пути домашнего каталога, в то время как CWD
ClassMethod возвращает текущий объект пути рабочего каталога
Создание объекта пути
p = Path.home() / 'iyanu'
Posixpath (‘/home/ashiri/ianu’)
Этот фрагмент кода создает объект пути, который можно использовать в вашем коде Python, но каталог уже существует для кода, чтобы что -то сделать. В следующих двух примерах мы покажем, как создать новый каталог и новый файл из вашего кода Python.
Создать новый каталог
p = Path.home() / 'folder_name' p.mkdir()
В приведенном выше фрагменте кода мы создаем объект Path под названием P
и используйте метод экземпляра Мкдир
.
Создать новый файл
p = Path.home() / 'folder_name' p.mkdir() r = p / 'file_name.txt' r.touch()
В этом фрагменте кода мы начинаем с создания объекта Path под названием P
, затем используйте mkdir ()
Метод экземпляра. Следующая вещь – создать другой объект пути под названием r
и используйте метод экземпляра touch ()
Анкет
mkdir (существующий_ok = true)
Метод может принять аргумент. Это предотвращает FileExisterror
от поднятия.
Открытие файла на пути
Есть Open
Метод экземпляра, который работает как встроенный Open
функция Итак, мы можем что -то сделать как это:
with r.open as file: file.readline
В заключение
На странице документации Pathlib есть больше, чем можно узнать, которую можно найти здесь
Если вам понравилась эта статья, не забудьте поделиться и прокомментировать ниже. Следуйте за мной в Твиттере: @Iyanuashiri Я пишет в Твиттере о Python. Вы также можете проверить мой блог ianuashiri.me для большего Содержание питона.
Оригинал: “https://dev.to/iyanuashiri/getting-started-with-pathlib-33n4”