Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

[Sugestão] Aos novos alunos: "os.system" está obsoleto

Ao utilizar a função os.system, pode aparecer um alerta (ou ela pode aparecer riscada), informando a seguinte mensagem:

Soft deprecated. Use the subprocess module instead.
Captura de tela exibindo o alerta ao utilizar a função legada.

Isso acontece porque os.system é considerado soft deprecated (obsoleto / aviso prévio de descontinuação) e seu uso não é mais recomendado em novos códigos, devido a limitações de segurança, desempenho e flexibilidade. No lugar, é recomendado utilizar o módulo subprocess.

Exemplo:

import subprocess

# Um único comando
subprocess.run("clear") # Limpa o terminal em sistemas Unix

# Comando com vários argumentos
subprocess.run(["ping", "-c", "5", "google.com"]) # Pinga 'google.com' 5 vezes
1 resposta

Olá, Nicolas! Como vai?

Obrigado por trazer essa excelente observação!

De fato o módulo subprocess é uma alternativa mais moderna e segura.

Ele oferece mais controle e flexibilidade na execução de comandos do sistema.

Vou deixar aqui um exemplo de como podemos substituir os.system por subprocess.run para limpar o terminal:

import subprocess

def finalizar_app():
    # Para Windows
    subprocess.run("cls", shell=True)
    
    # Para Mac/Linux
    # subprocess.run("clear", shell=True)
    print('Finalizando o app\n')

Note que o parâmetro shell=True é necessário para que o comando seja executado no shell do sistema.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!