Como Fazer um Switch com Python

13. Re: Como Fazer um Switch com Python

Lisandro Guerra
Lisandro

(usa Arch Linux)

Enviado em 31/10/2016 - 22:30h

Kaique_rangel escreveu:

Eu preciso Fazer Esses códigos em python usando o Switch

#!/bin/bash
echo "Opções"
echo
echo "Digite 1 para, exibir status."
echo "Digite 2 para, exibir relação."
echo "Digite 3 para, exibir data."
echo "Digite 4 para sair."
echo
echo "Qual opção?"
read opcao
case $opcao in
1) df -h;;
2) who;;
3) date;;
4) exit;;
*) echo "Opção inexistente";;
esac




#!/bin/bash
status=$(ping -q -c 1 $1 | grep "received" | cut -d " " -f 4)
if [ $status -eq 0 ]
then
echo "servidor DOWN"
else
echo "servidor UP"
fi


Mais uma roubada. Chamando:
 $ python3 nomedoprograma.py ipdoservidor 



import sys
import subprocess as sp

status, result = sp.getstatusoutput('ping -q -c 1 ' + sys.argv[1])
servidor = result.split()[1]
if status == 0:
print('Servidor IP {0} está UP'.format(servidor))
else:
print('Servidor IP {0} está DOWN'.format(servidor))


Vê aí como ficou.



  


14. Re: Como Fazer um Switch com Python

Lisandro Guerra
Lisandro

(usa Arch Linux)

Enviado em 02/11/2016 - 10:05h

Resumindo então ficaram estes dois abaixo:

Caso 1:


import subprocess as sp

opcoes = {'1': ('para, exibir status.', 'df -h'),
'2': ('para, exibir relação.', 'who'),
'3': ('para, exibir data.', 'date'),
'4': ('para sair.', 'Até mais!')}

lista = ['Digite {0} {1}'.format(k, v[0]) for k, v in opcoes.items()]
lista.sort()

print ('Opções')
for e in lista:
print(e)

while True:
op = input("Qual opção? ")
if op == '4':
print(opcoes[op][1])
break
if op in opcoes:
op = opcoes[op][1]
resp = sp.getstatusoutput(op)
print(resp[1])



Caso 2:

Chamando no terminal:
 $ python3 nomedoprograma.py ipdoservidor 


Código:


import sys
import subprocess as sp

status, result = sp.getstatusoutput('ping -q -c 1 ' + sys.argv[1])
servidor = result.split()[1]
if status == 0:
print('Servidor IP {0} está UP'.format(servidor))
else:
print('Servidor IP {0} está DOWN'.format(servidor))


Abraço


15. Re: Como Fazer um Switch com Python

Kaique Rangel de Almeida Lima
Kaique_rangel

(usa Linux Mint)

Enviado em 02/11/2016 - 15:53h

Lisandro escreveu:

Kaique_rangel escreveu:

Eu preciso Fazer Esses códigos em python usando o Switch

#!/bin/bash
echo "Opções"
echo
echo "Digite 1 para, exibir status."
echo "Digite 2 para, exibir relação."
echo "Digite 3 para, exibir data."
echo "Digite 4 para sair."
echo
echo "Qual opção?"
read opcao
case $opcao in
1) df -h;;
2) who;;
3) date;;
4) exit;;
*) echo "Opção inexistente";;
esac




#!/bin/bash
status=$(ping -q -c 1 $1 | grep "received" | cut -d " " -f 4)
if [ $status -eq 0 ]
then
echo "servidor DOWN"
else
echo "servidor UP"
fi


Mais uma roubada. Chamando:
 $ python3 nomedoprograma.py ipdoservidor 



import sys
import subprocess as sp

status, result = sp.getstatusoutput('ping -q -c 1 ' + sys.argv[1])
servidor = result.split()[1]
if status == 0:
print('Servidor IP {0} está UP'.format(servidor))
else:
print('Servidor IP {0} está DOWN'.format(servidor))


Vê aí como ficou.



Apareceu o seguinte erro de syntx:

SyntaxError: Non-ASCII character '\xc3' in file status.py on line 7, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details





16. Re: Como Fazer um Switch com Python

Lisandro Guerra
Lisandro

(usa Arch Linux)

Enviado em 02/11/2016 - 16:23h

Kaique_rangel escreveu:

Lisandro escreveu:

Kaique_rangel escreveu:

Eu preciso Fazer Esses códigos em python usando o Switch

#!/bin/bash
echo "Opções"
echo
echo "Digite 1 para, exibir status."
echo "Digite 2 para, exibir relação."
echo "Digite 3 para, exibir data."
echo "Digite 4 para sair."
echo
echo "Qual opção?"
read opcao
case $opcao in
1) df -h;;
2) who;;
3) date;;
4) exit;;
*) echo "Opção inexistente";;
esac




#!/bin/bash
status=$(ping -q -c 1 $1 | grep "received" | cut -d " " -f 4)
if [ $status -eq 0 ]
then
echo "servidor DOWN"
else
echo "servidor UP"
fi


Mais uma roubada. Chamando:
 $ python3 nomedoprograma.py ipdoservidor 



import sys
import subprocess as sp

status, result = sp.getstatusoutput('ping -q -c 1 ' + sys.argv[1])
servidor = result.split()[1]
if status == 0:
print('Servidor IP {0} está UP'.format(servidor))
else:
print('Servidor IP {0} está DOWN'.format(servidor))


Vê aí como ficou.



Apareceu o seguinte erro de syntx:

SyntaxError: Non-ASCII character '\xc3' in file status.py on line 7, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details




É porque está rodando com Python 2 aí.
Ou roda usando Python 3 ou retira a acentuação gráfica e muda o print.
Abraço



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts