Easypathlib

Что такое pathlib?

1Постановка

Разберём, что от вас хотят в этом вопросе и как к нему подступиться на собеседовании.

2Решение

pathlib (Python 3.4) — объектно-ориентированный API для файловых путев, замена os.path. Cross-platform — Path адаптируется к ОС.

from pathlib import Path

p = Path('/tmp') / 'sub' / 'file.txt'   # concat через /
p.name        # 'file.txt'
p.stem        # 'file' (без расширения)
p.suffix      # '.txt'
p.parent      # /tmp/sub
p.exists()    # True/False

p.mkdir(parents=True, exist_ok=True)
content = p.read_text(encoding='utf-8')   # весь файл сразу
p.write_text('hello')

for f in Path('.').rglob('*.py'):   # recursive glob
    print(f)

Path.home()   # домашняя директория
Path.cwd()    # текущая
  • iterdir() — дочерние; glob(pattern), rglob(pattern);
  • PurePath (без I/O) для path manipulation;
  • В Python 3.6+ все I/O функции в os принимают Path.

3Как отвечать

  • Сначала уточните условия и ограничения, покажите аналитическое мышление.
  • Рассуждайте вслух — интервьюеру важен ход мысли, а не только финальный ответ.
  • Оцените сложность по времени и памяти (Big-O), если это алгоритмический вопрос.
💡

На реальном собеседовании Alffert подскажет развёрнутый ответ в реальном времени.