Юлия Скрипниченко
Мастер
(1994)
4 месяца назад
Модули `os` и `sys` в Python предоставляют доступ к функциональности операционной системы и системным параметрам, которые могут быть полезны для различных задач программирования. Вот краткий обзор их возможностей и применений:
### Модуль `os`
Модуль `os` предоставляет функции для взаимодействия с операционной системой, такие как работа с файловой системой и выполнение команд. Вот некоторые из его основных функций:
1. **Работа с файловой системой**:
- `os.listdir(path)` – возвращает список файлов и директорий в указанном пути.
- `os.mkdir(path)` и `os.makedirs(path)` – создают директорию или несколько директорий.
- `os.remove(path)` – удаляет файл.
- `os.rmdir(path)` и `os.removedirs(path)` – удаляют пустую директорию или несколько директорий.
- `os.rename(src, dst)` – переименовывает файл или директорию.
2. **Работа с путями**:
- `os.path.join(path, *paths)` – соединяет один или несколько компонентов пути.
- `os.path.exists(path)` – проверяет, существует ли указанный путь.
- `os.path.isfile(path)` и `os.path.isdir(path)` – проверяют, является ли путь файлом или директорией.
3. **Информация о системе**:
- `os.getcwd()` – возвращает текущую рабочую директорию.
- `os.chdir(path)` – изменяет текущую рабочую директорию.
- `os.getenv(key, default=None)` – возвращает значение переменной окружения.
4. **Выполнение системных команд**:
- `os.system(command)` – выполняет системную команду. (Для более сложного выполнения команд рекомендуется использовать модуль `subprocess`).
### Модуль `sys`
Модуль `sys` предоставляет доступ к параметрам и функциям, связанным с интерпретатором Python и его окружением:
1. **Системные параметры**:
- `sys.argv` – список аргументов командной строки, переданных скрипту.
- `sys.exit([status])` – завершает выполнение программы. `status` может быть числом или объектом.
2. **Информация об интерпретаторе**:
- `sys.version` – строка с информацией о версии Python.
- `sys.platform` – строка, указывающая на платформу (например, `'win32'`, `'linux'`, `'darwin'`).
3. **Управление путями поиска модулей**:
- `sys.path` – список директорий, которые интерпретатор Python использует для поиска модулей.
- `sys.path.append(path)` – добавляет путь к этому списку.
4. **Работа с потоками ввода/вывода**:
- `sys.stdin`, `sys.stdout`, `sys.stderr` – потоки стандартного ввода, вывода и ошибок соответственно. Могут быть перенаправлены на другие объекты для кастомной обработки.
5. **Информация о ресурсах**:
- `sys.getsizeof(object)` – возвращает размер объекта в байтах.
Эти модули полезны для управления файлами, выполнения команд, получения информации о системе и работы с путями. Они часто используются в скриптах для автоматизации задач, обработки системных параметров и выполнения команд.