Большинство интерфейсов Python системного уровня находится всего в двух модулях: sys и os. Впрочем, это несколько упрощенное представление — к данной области относятся и другие стандартные модули. В их числе:
glob
Реализует механизм подстановки имен файлов
socket
Обеспечивает возможности создания сетевых соединений и взаимодействий между процессами (Inter—Process Communication, IPC)
threading, _thread, queue
Средства запуска и синхронизации параллельных потоков выполнения
time, timeit
Обеспечивают возможность получения информации о системном времени
subprocess, multiprocessing
Средства запуска и управления параллельными процессами
signal, select, shutil, tempfile и другие
Для решения других системных задач
Некоторые сторонние расширения, такие как pySerial (интерфейс к последовательному порту), Pexpect (механизм управления взаимодействиями между программами, напоминающий утилиту Expect) и даже Twisted (сетевой фреймворк), также могут быть отнесены к разряду системных инструментов. Кроме того, некоторые встроенные функции также в действительности являются системными интерфейсами — функция open, например, обеспечивает интерфейс к файловой системе. Но в общем и целом ядро арсенала системных инструментов Python образуют модули sys и os .
В теории, по крайней мере, модуль sys экспортирует компоненты, относящиеся к самому интерпретатору Python (например, путь поиска модулей), a модуль os содержит переменные и функции, соответствующие операционной системе, в которой выполняется Python. На практике это различие может быть не столь отчетливым (например, стандартные потоки ввода и вывода находятся в модуле sys, но можно утверждать, что они связаны с парадигмами операционной системы). Могу вас обрадовать: инструменты, находящиеся в этих модулях, будут использоваться так часто, что их местонахождение прочно отпечатается в вашей памяти.[III]
Модуль os пытается также предоставить переносимый интерфейс программирования для используемой операционной системы: его функции могут быть по-разному реализованы на различных платформах, но для сценариев на языке Python они выглядят одинаково. Кроме того, модуль os экспортирует вложенный подмодуль os.path, предоставляющий переносимый интерфейс к средствам обработки файлов и каталогов.
Использованная литература:
Марк Лутц — Программирование на Python, 4-е издание, I том, 2011