Easyossys

Что такое os и sys?

1Постановка

Разберём, что от вас хотят в этом вопросе и как к нему подступиться на собеседовании.

2Решение

os — OS интерфейс. sys — Python interpreter.

import os, sys

# os — файлы, окружение, процессы
os.getcwd()                    # текущая директория
os.listdir('.')                # дочерние файлы/директории
os.environ.get('API_KEY')      # переменная окружения
os.cpu_count()                 # число ядер
for root, dirs, files in os.walk('.'):
    ...                        # рекурсивный обход

# sys — interpreter
sys.argv                       # CLI args
sys.path                       # import search paths
sys.exit(0)                    # завершить
sys.platform                   # 'win32' / 'linux' / 'darwin'
sys.version_info.major         # версия Python
sys.getsizeof(obj)             # memory объекта
  • На практике: pathlib для путей (вместо os.path), subprocess.run вместо os.system;
  • shutil.copy/move для операций с файлами;
  • sys.path.insert(0, '/custom') — добавить в import path.

3Как отвечать

  • Сначала уточните условия и ограничения, покажите аналитическое мышление.
  • Рассуждайте вслух — интервьюеру важен ход мысли, а не только финальный ответ.
  • Оцените сложность по времени и памяти (Big-O), если это алгоритмический вопрос.
💡

На реальном собеседовании Alffert подскажет развёрнутый ответ в реальном времени.