Модуль 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