Модуль os в Python

Модуль os в Python предоставляет широкие возможности для взаимодействия с операционной системой, включая работу с файловой системой. С его помощью можно создавать, удалять, перемещать файлы и директории, получать информацию о файлах, выполнять операции над путями и многое другое. В этом уроке мы рассмотрим основные функции модуля os для работы с файловой системой.

1. Получение информации о файлах и директориях

Модуль os предоставляет функции для получения информации о файлах и директориях, такие как проверка существования файла, определение типа объекта (файл или директория), получение списка файлов в директории и т. д.

  • os.path.exists(путь): Проверяет, существует ли файл или каталог.
  • os.path.isdir(путь): Проверяет, является ли указанный путь каталогом.
  • os.path.isfile(путь): Проверяет, является ли указанный путь файлом.
  • os.chdir(путь): Меняет рабочий каталог на указанный.
  • os.getcwd(): Возвращает текущий рабочий каталог.
  • os.listdir(путь): Возвращает список имен файлов и каталогов в указанном каталоге.
  • os.path.getsize(путь): Возвращает размер файла в байтах.
  • os.path.getmtime(путь): Возвращает время последней модификации файла.

Примеры:

import os

# Проверка существования файла или директории
print(os.path.exists('example.txt'))  # Output: True (если файл существует)

# Проверка, является ли объект файлом
print(os.path.isfile('example.txt'))  # Output: True (если объект является файлом)

# Проверка, является ли объект директорией
print(os.path.isdir('example'))  # Output: True (если объект является директорией)

# Получение списка файлов в директории
files = os.listdir('example')
print(files)

2. Создание и удаление файлов и директорий

Модуль os позволяет создавать и удалять файлы и директории.

  • os.mkdir(путь): Создает каталог по указанному пути.
  • os.rmdir(путь): Удаляет пустой каталог.
  • os.remove(путь): Удаляет файл.
  • os.rename(старый_путь, новый_путь): Переименовывает файл или каталог.
  • os.walk(путь): Проходит рекурсивно по каталогу и его подкаталогам, возвращая кортежи с именем каталога, списком подкаталогов и списком файлов.

Примеры:

import os

# Создание директории
os.mkdir('new_directory')

# Удаление директории
os.rmdir('new_directory')

# Создание пустого файла
with open('new_file.txt', 'w') as file:
    pass

# Удаление файла
os.remove('new_file.txt')

3. Работа с путями файловой системы

Модуль os также предоставляет функции для работы с путями файловой системы, такие как объединение путей, получение абсолютного пути, разделение пути на части и т. д.

Примеры:

import os

# Объединение путей
path = os.path.join('dir', 'subdir', 'file.txt')
print(path)  # Output: 'dir/subdir/file.txt'

# Получение абсолютного пути
absolute_path = os.path.abspath('example.txt')
print(absolute_path)

# Разделение пути на части
dir_name, file_name = os.path.split(absolute_path)
print("Directory:", dir_name)
print("File name:", file_name)

Информация о системе:

  • os.name: Возвращает имя операционной системы (например, "nt", "posix").
  • os.uname(): Возвращает информацию о системе (система, релиз, версия, имя хоста).

Другие функции:

  • os.system(команда): Выполняет команду оболочки в системе.
  • os.getpid(): Возвращает идентификатор текущего процесса.
  • os.mktemp(): Создает временный файл.

Важно:

  • Перед использованием функций модуля os рекомендуется ознакомиться с их документацией, чтобы убедиться в корректной работе в вашей операционной системе.
  • Будьте осторожны при работе с системными файлами и каталогами, так как неправильные действия могут привести к проблемам с работой системы.

Модуль os является мощным инструментом для работы с файловой системой в Python. Он позволяет выполнять различные задачи, от создания и удаления файлов до перехода по каталогам и получения информации о системе.