Como saber se um comando que foi executado em python retornou sucesso ou nao ?

1. Como saber se um comando que foi executado em python retornou sucesso ou nao ?

TheMagicOfOz
TheMagicOz

(usa PCLinuxOS)

Enviado em 13/08/2018 - 14:07h

por exemplo em shell temos o $? que retorna se o comando foi executado com sucesso 0 ou não 'diferente de 0'
por exemplo:
TMg_@thauanmendes:~$ cat Imagens
cat: Imagens: É um diretório
TMg_@thauanmendes:~$ echo $?
1
TMg_@thauanmendes:~$ cd Imagens/
TMg_@thauanmendes:~/Imagens$ echo $?
0
===
Qual o comando em python ?



  


2. Re: Como saber se um comando que foi executado em python retornou sucesso ou nao ?

hp
perito

(usa Debian)

Enviado em 13/08/2018 - 15:33h

TheMagicOz escreveu:

por exemplo em shell temos o $? que retorna se o comando foi executado com sucesso 0 ou não 'diferente de 0'
por exemplo:
TMg_@thauanmendes:~$ cat Imagens
cat: Imagens: É um diretório
TMg_@thauanmendes:~$ echo $?
1
TMg_@thauanmendes:~$ cd Imagens/
TMg_@thauanmendes:~/Imagens$ echo $?
0
===
Qual o comando em python ?



#!/usr/bin/env python
# python 2.x
a = int(input("Digite um numero: "))
try:
print "numero aceito!"
except:
print "Digite apenas numeos inteiros!"

teste esse codigo e veja se funcione como deseja...
abraços!

======================
O conhecimento é a chave para a porta da liberdade!


3. É meio que isso , só que quero desse jeito para poder fazer isso por ex

TheMagicOfOz
TheMagicOz

(usa PCLinuxOS)

Enviado em 13/08/2018 - 17:05h

queria que pegasse o retorno de um comando por exemplo, tenho um script em python que cria um database por exemplo, entrei com o nome do meu database , ai executei o comando de criação de database, ai se esse comando for executado com sucesso ( que seria o valor $? = 0 ) ele daria create database e listava os databases disponiveis, caso o comando caia em algum erro ele executaria outro comando dizendo que deu erro e que o database não foi criado e pedindo pra entrar num valor novo, por isso queria um verificador de comando que nem faço no shell , se puder ajudar desde já muito obrigado :)


4. Re: Como saber se um comando que foi executado em python retornou sucesso ou nao ?

Júlio
Paulo3434

(usa Debian)

Enviado em 13/08/2018 - 18:09h

Estude o try e o except.


5. Re: Como saber se um comando que foi executado em python retornou sucesso ou nao ?

Diego Mendes Rodrigues
diegomrodrigues

(usa Ubuntu)

Enviado em 14/08/2018 - 08:24h

Você pode utilizar o
sys.exit(0) 

ou o
sys.exit(1) 


Exemplo de código em Python 3.x:
import sys

if sys.argv[1]=='oi':
print('Olá')
sys.exit(0)

sys.exit(1)


Execução no Linux Ubuntu:
diego@Floki:~$ python3 retorno.py oi
Olá
diego@Floki:~$ echo $?
0


diego@Floki:~$ python3 retorno.py teste
diego@Floki:~$ echo $?
1


Abraço,
Diego M. Rodrigues


6. Re: Como saber se um comando que foi executado em python retornou sucesso ou nao ?

Jeffersson Abreu
ctw6av

(usa Nenhuma)

Enviado em 14/08/2018 - 10:06h

Use o módulo subprocess:
>>> # Importamos o módulo.
>>> from subprocess import getstatusoutput
>>> # Pegamos a saída e o status ($?) do comando 'ls'
>>> status, output = getstatusoutput('ls')
>>> # Imprimimos o status.
>>> print(status)
0
>>> # Imprimimos a saída.
>>> print(output)
Área de trabalho
Documentos
Downloads
Imagens
Modelos
Música
Projetos
Público
Scripts
Vídeos
>>>


Se como "comando" você se refere à uma função, use o return para retornar True (1) ou False (0) dentro do bloco:
>>> def is_decimal(number: str):
... if number.isdecimal():
... return True
... return False
...
>>> is_decimal('10')
True
>>> is_decimal('A')
False







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts