Модуль Sys Python

Модуль sys дает доступ к деталям выполнения Python, таким как аргументы командной строки, путь импорта и текущая версия интерпретатора.

import sys

Используйте sys, когда коду нужно общаться с самим интерпретатором Python, а не только со своими объектами приложения.

Аргументы командной строки

sys.argv — это список аргументов, переданных текущему скрипту.

import sys

sys.argv = ['main.py', '--debug', 'app']
print(sys.argv[0])
print(sys.argv[1:])
main.py
['--debug', 'app']

Для настоящих приложений командной строки лучше использовать argparse. Он основан на той же идее, но дает проверку и справку.

Версия Python

import sys

print(sys.version_info.major)
print(sys.version_info.minor)
3
14

Путь поиска импортов

sys.path управляет тем, где Python ищет модули.

import sys

print(type(sys.path).__name__)
print(len(sys.path) > 0)
list
True

В начале sys.path обычно находится текущий проект, поэтому локальные модули можно импортировать.

Стандартный ввод и вывод

sys.stdin, sys.stdout и sys.stderr — это похожие на файлы объекты, которые использует интерпретатор.

import sys

print(sys.stdout.writable())
print(sys.stderr.writable())
True
True

Завершение программы

import sys

try:
    sys.exit(0)
except SystemExit as exc:
    print(exc.code)
0

Ссылки по теме