Файловая система — это структура файлов и папок на диске. Python предоставляет модуль os для навигации, создания, переименования и удаления объектов, а модуль sys — для чтения аргументов командной строки.
Абсолютный путь начинается от корня диска, а относительный — от текущей рабочей директории. Для сборки путей используйте os.path.join, чтобы не зависеть от операционной системы.
import os, sys
if len(sys.argv) != 2:
print("Usage: python script.py <directory>")
sys.exit(1)
for item in os.listdir(sys.argv[1]):
print(item)
Топ-3 ошибки: путать индексы sys.argv (первый элемент — имя скрипта); использовать os.rmdir для непустой папки; собирать пути вручную через "/" или "\\" вместо os.path.join.
О чём этот урок
Программы постоянно взаимодействуют с файлами: читают конфигурации, сохраняют результаты, обрабатывают папки с данными. Чтобы делать это надёжно, нужно уметь перемещаться по файловой системе, проверять существование объектов, создавать и удалять директории, а также запускать скрипты с параметрами из командной строки.
В уроке разберём модули os и sys: абсолютные и относительные пути, основные функции для работы с файлами и папками, рекурсивный обход os.walk и аргументы командной строки sys.argv. Также кратко познакомимся с современным модулем pathlib.
Цели
Понимать разницу между абсолютными и относительными путями.
Использовать модуль os для получения текущей директории, перехода между папками и проверки существования объектов.
Создавать, переименовывать и удалять файлы и директории.
Разбирать и собирать пути с помощью os.path.split, os.path.basename, os.path.dirname, os.path.abspath и os.path.join.
Рекурсивно обходить дерево директорий через os.walk.
Читать аргументы командной строки через sys.argv и завершать программу через sys.exit.
Знать, что для нового кода предпочтительнее использовать pathlib.Path.