Muitas vezes é necessário que o Python interaja com o sistema operacional do computador onde ele está sendo executado. Por exemplo, para ter informações sobre as partições do disco rígido. Para que isso aconteça, é necessário criar um comando externo, que invoca a informação ou programa que se deseja, diretamente do SO.
Neste post vamos mostrar um módulo do Python que permite que processos sejam criados, e estes executam programas externos ao código Python que está sendo escrito. Ele também permite que a saída deste programa na tela seja executada como se estivesse num shell normal. Este é o módulo subprocess, que oferece várias opções para executar programas. Vamos mostrar aqui duas delas:
Python – A opção call()
1 2 |
import subprocess r = subprocess.call("echo Hello World", shell=True) |
Para podermos manipular os dados deste programa externo, devemos utilizar a função check_output(). Um exemplo utilizando esta função no lugar de call() é mostrado abaixo:
1 2 3 4 |
subprocess.check_output(['java -Djava.library.path="C:UsersAdministratorDocumentsNetBeansProjects SDK_Java_v1.0.0.2_BetaSDK Java_v1.0.0.2 BETALib" -jar C:UsersAdministratorDocumentsNetBeansProjects Busca3-N_javadistBusca3-N_java.jar',arquivo]) return r |
Este exemplo é a chamada de um programa em Java, cujas informações serão manipuladas depois em Python, sendo fornecidos pelo return.
Python – A opção Popen ()
1 2 3 |
import subprocess proc = subprocess.Popen ("echo Hello World", shell=True, stdout=subprocess.PIPE).stdout.read() |
Estas são algumas das formas de se chamar um comando externo no Python. Conhece mais alguma? Compartilhe conosco na área de comentários abaixo!
Caso queria procurar mais dicas, pesquise nossos vídeos sobre Python. Abaixo estão alguns exemplos:
Também pode seguir alguns de nossos broadcasters que programam em Python, como os abaixo:
Outra maneira legal de descobrir mais coisas interessantes sobre Python é acessar nossa página de projetos