Jump to content

Agendar desligamento da máquina com Python


Thanael

Postagens Recomendadas

  • Pessoal da TecnoSpeed

Antes de explicar como agendar o desligamento da sua máquina através do Python gostaria de lhe fazer uma breve provocação

"Quantas vezes você teve de deixar seu computador ligado a noite toda para finalizar um download ou alguma atividade? "

Provável que assim como eu você já teve de fazer isso diversas vezes e acabou deixando seu computador ligado a noite toda sendo que a atividade que estava realizando levaria algumas poucas horas. 

Com base nisso pesquisei algumas maneiras de agendar o desligamento da maquina via comando e consegui encontrar a solução para os meus problemas que consiste no comando mágico que é:

shutdowmn -s -t 3600 

Lembrando que coloquei 3600 acima para que meu computador seja desligado após 1 hora (3600 segundos).

Mas agora você deve estar se perguntando "Mas onde é que o Python entra nisso ? "
Então provável que em algum momento você enjoe de toda vez ter que abrir o CMD (prompt de comando) digitar o comando e calcular qual o período desejado e converter isso para segundos.... 
E é ai que o Python entra, possibilitando automatizar todos esses processos, portanto vou adicionar abaixo uma ideia de código para realizar este mesmo processo, com um código muito simples.

import os

while True:
    numero_decisao = int(input('''Agendar Desligamento da Máquina

    Escolha entre minutos e horas
    [0] - Minutos
    [1] - Horas

    Sua decisão: '''))

    if numero_decisao == 0:
        decisao = 'Minutos'
    elif numero_decisao == 1:
        decisao = 'Horas'
    else:
        print('Digite um número válido!')
        continue
        
    print(f'\nÓtimo você selecionou {decisao}\n')
    break
    
tempo = int(input(f'Após quantos(as) {decisao}  deseja que seu computador seja desligado? '))

print(f'\nÓtimo seu computador será desligado após {tempo} {decisao}\n\n')

if decisao == 'Minutos':
    tempo = tempo*60
elif decisao == 'Horas':
    tempo = (tempo*60)*60
    
os.system(f'shutdown -s -t {tempo}')

cancelar = int(input('''Deseja cancelar o desligamento? 
[0] - Sim
[1] - Não

Sua resposta: '''))

if cancelar == 0:
    os.system('shutdown -a')
    print('\nPronto! Seu Agendamento foi cancelado\n')
else:
    print('\nObrigado por utilizar este programa!\n')

Exemplo de Output (Saída)

image.png

Lembrando que esta é uma maneira de realizar esse processo, existem diversas outras, algumas mais práticas com a utilização de funções e tratamento de erros. Porém neste momento gostaria apenas de passar uma maneira com uma lógica e código mais simples para facilitar na compreensão. 

Caso queira criar algo mais detalhado com uma interface gráfica simples sugiro dar uma olhada neste repositório.

Espero que esse conteúdo tenha lhe ajudado de alguma forma! 

Link to comment
Compartilhe em outros sites

Crie uma conta ou entre para comentar 😀

Você precisa ser um membro para deixar um comentário.

Crie a sua conta

Participe da nossa comunidade, crie sua conta.
É bem rápido!

Criar minha conta agora

Entrar

Você já tem uma conta?
Faça o login agora.

Entrar agora


×
×
  • Create New...