Создаёт одну директорию. Ошибка, если уже существует.
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.