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:
import subprocess r = subprocess.call("echo Hello World", shell=True)
Esta opção nos mostra na tela as informações que o programa externo gerou, mas não como uma entrada que possa ser manipulada posteriormente pelo nosso programa em Python. O valor que a função call() retorna dentro do programa em Python é somente o status da execução do programa externo.
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:
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.
import subprocess proc = subprocess.Popen ("echo Hello World", shell=True, stdout=subprocess.PIPE).stdout.read()
Ele oferece bastante flexibilidade para que os desenvolvedores sejam capazes de lidar com casos mais complexos que não são cobertos pelas funções mais simples. O subprocess.Popen() executa um programa filho num novo processo. No Unix, tem um comportamento semelhante ao os.execvp()- na execução deste programa. Já no Windows, usa a função CreateProcess().
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
In 2024 we're witnessing a critical point in democratic technology: the integration of blockchain and…
We’re thrilled to announce an exciting opportunity for you to win not one but two…
Acquiring practical skills is crucial for career advancement and personal growth. Education Ecosystem stands out…
Artificial Intelligence (AI) has been making significant strides in various industries, and the software development…
Another week to bring you the top yield platforms for three of the most prominent…
If you hold a large volume of LEDU tokens above 1 million units and wish…
View Comments
Esta série sobre Python está demais