De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Rafael Henrique da Silva Correia
Data de Publicação: 03 de Outubro de 2007
Quando escrevi esta dica a dica do dia era a dica do Bruno Magalhães de Souza, ele ensinava a usar comandos do sistema operacional em php, pois agora venho a vocês para ensinar a mesma coisa, com cgi, mais especificamente Python! Há um tempo atrás rachei minha cabeça para tentar descobrir uma forma de pegar a saída de um comando do Linux em Python. Hoje consigo tanto executá-lo como conseguir sua saída ;) !
É o seguinte:
Abrindo o interpretador Python:
asm:/home/rafael# python
Python 2.4.4 (#2, Apr 5 2007, 20:11:18)
[GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>import os
>>>import commands
Agora explicarei esses dois módulos importados...
Aí vem...
>>>os.system("ls")
Este método system chamará o comando ls e o executará! Agora vem o detalhe ao qual demorei um tempo pra descobrir...
>>>var = os.system("ls")
Esta variável var pegará o return do comando executado (0 se deu certo o comando e diferente de 0 se deu errado)! Testem...
>>>print var
Aí pensei cá com meus neurônios, e como pego o output?? Aí que tive a idéia de pedir um help para o meu professor e veio a saída (literalmente hehehe)...
>>>var = commands.getoutput("ifconfig")
Aí agora sim! Agora eu pego a variável como uma string verifiquem:
>>>type(var)
>>>print var
Bingoo! Bom aí eu faço o que eu quiser com a saída, transformo em lista,
gravo num arquivinho texto, etc! Então podem brincar a vontade :)! Dá
pra pegar as saídas dos comandos pela web também via apache! Então tem n
brincadeiras, só falta brincar agora! Boa sorte em seus testes!
Uma boa saída no python é consultar o dir()`
>>>dir(commands)
['__all__', '__builtins__', '__doc__', '__file__', '__name__', 'getoutput', 'getstatus', 'getstatusoutput', 'mk2arg', 'mkarg']
Ele te mostrará tudo que é possível fazer com aquilo (todos os métodos), outra opção é o help()
>>>help(commands)
Que é tipo de um man
do Python :)... flw!
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários