Módulo Sys do Python
O módulo sys dá acesso a detalhes de runtime do Python, como argumentos de linha de comando, caminho de importação e versão atual do interpretador.
import sys
Use sys quando o seu código precisar conversar com o próprio interpretador Python, e não apenas com objetos da sua aplicação.
Argumentos de linha de comando
sys.argv é uma lista de argumentos passados para o script atual.
import sys
sys.argv = ['main.py', '--debug', 'app']
print(sys.argv[0])
print(sys.argv[1:])
main.py
['--debug', 'app']
Para aplicações reais de linha de comando, prefira argparse. Ele parte da mesma ideia, mas oferece validação e mensagens de ajuda.
Versão do Python
import sys
print(sys.version_info.major)
print(sys.version_info.minor)
3
14
Caminho de busca de importação
sys.path controla onde o Python procura módulos.
import sys
print(type(sys.path).__name__)
print(len(sys.path) > 0)
list
True
As primeiras entradas de sys.path normalmente incluem o projeto atual, por isso módulos locais podem ser importados.
Entrada e saída padrão
sys.stdin, sys.stdout e sys.stderr são objetos semelhantes a arquivo usados pelo interpretador.
import sys
print(sys.stdout.writable())
print(sys.stderr.writable())
True
True
Saindo de um programa
import sys
try:
sys.exit(0)
except SystemExit as exc:
print(exc.code)
0