🔖 Справочник функций

⚡ Краткий справочник

  • os.getcwd() — текущая директория.
  • os.chdir(path) — сменить директорию.
  • os.path.exists(path) — проверить существование.
  • os.listdir(path) — содержимое директории.
  • os.mkdir(path) / os.makedirs(path, exist_ok=True) — создать папку.
  • os.path.isfile(path) / os.path.isdir(path) — файл или папка.
  • os.rename(src, dst) — переименовать.
  • os.remove(path) / os.rmdir(path) — удалить файл / пустую папку.
  • os.path.join(*parts) — собрать путь.
  • os.walk(path) — рекурсивный обход.
  • sys.argv — аргументы CLI; sys.exit(code) — завершить программу.
ФункцияОписаниеПример
os.getcwd() Возвращает текущую рабочую директорию. os.getcwd()"/home/user/project"
os.chdir(path) Меняет текущую рабочую директорию. Вызывает FileNotFoundError, если путь не существует. os.chdir("./data")

Проверка объектов

ФункцияОписаниеПример
os.path.exists(path) Проверяет, существует ли файл или директория. os.path.exists("data.txt")
os.path.isfile(path) Возвращает True, если путь — файл. os.path.isfile("data.txt")
os.path.isdir(path) Возвращает True, если путь — директория. os.path.isdir("logs")

Содержимое директории

ФункцияОписаниеПример
os.listdir(path) Возвращает список имён файлов и папок в директории. os.listdir(".")
os.walk(path) Рекурсивно обходит дерево директорий. Возвращает кортежи (root, dirs, files). for root, dirs, files in os.walk("."):

Создание и удаление

ФункцияОписаниеПример
os.mkdir(path) Создаёт одну директорию. Ошибка, если уже существует. os.mkdir("backup")
os.makedirs(path, exist_ok=True) Создаёт директорию со всеми родителями. exist_ok=True отключает ошибку при существовании. os.makedirs("a/b/c", exist_ok=True)
os.rename(src, dst) Переименовывает файл или директорию. os.rename("old.txt", "new.txt")
os.remove(path) Удаляет файл. os.remove("temp.txt")
os.rmdir(path) Удаляет только пустую директорию. os.rmdir("empty_folder")

Манипуляции с путями

ФункцияОписаниеПример
os.path.split(path) Разделяет путь на директорию и имя файла. os.path.split("/a/b/c.txt")("/a/b", "c.txt")
os.path.basename(path) Возвращает имя файла или последней папки. os.path.basename("/a/b/c.txt")"c.txt"
os.path.dirname(path) Возвращает директорию без последнего компонента. os.path.dirname("/a/b/c.txt")"/a/b"
os.path.abspath(path) Преобразует относительный путь в абсолютный. os.path.abspath(".")
os.path.join(*parts) Соединяет части пути с разделителем ОС. os.path.join("a", "b", "c.txt")

Работа с командной строкой

Функция / атрибутОписаниеПример
sys.argv Список строк: ["script.py", "arg1", "arg2", ...]. directory = sys.argv[1]
sys.exit(code) Завершает программу. 0 — успех, 1 — ошибка. sys.exit(1)

Частые паттерны

# 1. Проверка аргументов CLI
import sys

if len(sys.argv) != 2:
    print("Usage: python script.py <directory>")
    sys.exit(1)


# 2. Разделение файлов и папок
import os

for item in os.listdir("."):
    if os.path.isfile(item):
        print("Файл:", item)
    elif os.path.isdir(item):
        print("Папка:", item)


# 3. Поиск файлов по расширению
import os

for root, dirs, files in os.walk("."):
    for file in files:
        if file.endswith(".txt"):
            print(os.path.join(root, file))


# 4. Создание папки, если её нет
import os

os.makedirs("output", exist_ok=True)
⚠️ Проверить по документации: полный список функций модуля os.path, поведение os.walk с символическими ссылками и альтернативы в pathlib лучше уточнять в официальной документации Python.