Eae.
Se alguém puder ajudar ai… Estava a tentar fazer um projetinho de criar um fatch usando python mas ai veio a duvida… preciso pegar informacões pro print tava ai tava com a ideia de colocar num print para poder colocar coisas na frente mas preciso colocar a informação numa variavel… como eu poderia colocar por exemplo o:
Oq ele retornou não foi a string, foi aquele 0, as docs de Python dizem que esse comando simplesmente chama a system() de C, que retorna um int que indica se a função deu certo ou não, tanto que se vc remover aquele print a string é printada do mesmo jeito, pq é só o output da call, não do print.
Eu pensei que ele retornava a string e o inteiro mostrando se a função tinha dado certo, obrigado pela observação, mas então a variável não vai ter esse output da call
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import subprocess
# GLOSSÁRIO DO VOVÔ =)
#---------------------------------------------------------
#
# saida_do_comando-> variavel para armazenar a saída do 'subprocess'
# subprocess......-> módulo do python3
# check_output....-> função do módulo 'subprocess'
# comando.........-> variavel para armazenar o texto do comando
# stderr..........-> argumento da função 'check_output'.
# Captura possíveis erros durante a execução da função
# shell=True......-> argumento da função 'check_output'.
# Especifica que o comando será executado através do shell
try: # Tente...
comando = 'uname -a' # comando recebe a string = 'uname -a'
saida_do_comando = subprocess.check_output(comando, stderr=subprocess.STDOUT, shell=True)
print('Saída do comando Belesma:\n' + saida_do_comando.decode('utf-8')) # Imprime o texto da saída do comando
comando = 'osname -detudo'
saida_do_comando = subprocess.check_output(comando, stderr=subprocess.STDOUT, shell=True)
except Exception as erro: # Em caso de erro, salve na variável 'erro'
print('Eita... =/')
print('O comando \'' + comando + '\' retornou erro.')
print('Retorno-> ' + str(erro.returncode)) # Imprime o código da saída do comando
print('Saída -> ' + erro.output.decode('utf-8')) # Imprime o texto da saída do comando
# .decode('utf-8') é para decodificar a saída do comando que será em bytes.