Chame o programa externo em Python
-
Use a função
os.system()
para executar comandos de sistema externo em Python -
Use a função
os.popen()
para executar comandos de sistema externo em Python -
Use a função
subprocess.Popen()
para executar comandos de sistema externo em Python -
Use a função
subprocess.call()
para executar comandos de sistema externo em Python -
Use a função
subprocess.run()
para executar comandos de sistema externo em Python
Em Python, temos diferentes módulos e funções disponíveis para comunicar e obter respostas do sistema operacional. Python também possui métodos que podem executar programas externos.
Neste tutorial, discutiremos como chamar um programa externo em Python.
Use a função os.system()
para executar comandos de sistema externo em Python
O módulo os
em Python pode interagir com o sistema operacional do dispositivo e tem funções disponíveis para executar comandos shell. A função system()
implementa um comando, passado a ele como uma string, em um subshell. Ele retorna o status de saída do shell, que o sistema operacional retorna após executar o comando fornecido. Ele permite executar vários comandos ao mesmo tempo e chamar programas externos, não comandos do shell.
Por exemplo,
import os
os.system("echo Hello World")
Use a função os.popen()
para executar comandos de sistema externo em Python
Outra função do módulo os
para executar comandos de programas externos é a função popen()
. Este método abre um tubo relacionado ao comando. É semelhante à função os.system()
, mas fornece um objeto do tipo arquivo que ajuda nas operações de entrada e saída relacionadas ao comando. Podemos especificar o modo de arquivo para o arquivo e o tamanho do buff como o parâmetro na função.
Por exemplo,
import os
os.popen("echo Hello World")
Observe que existem 4 tipos de função popen()
disponíveis no Python 2. A diferença entre eles está na saída dessas 4 funções.
Use a função subprocess.Popen()
para executar comandos de sistema externo em Python
O módulo subprocess
é semelhante ao módulo os
e tem funções e métodos melhorados para chamar programas externos. O Popen
é uma aula e não um método. É um pouco complicado usar isso devido a vários parâmetros que precisam ser especificados junto com o comando necessário. Ele combina todas as 4 funções os.popen()
em uma. Ele também executa o programa externo como um processo separado. O código a seguir mostra como usar isso.
import subprocess
subprocess.Popen("echo Hello World", shell=True, stdout=subprocess.PIPE).stdout.read()
Use a função subprocess.call()
para executar comandos de sistema externo em Python
A função call()
é uma melhoria da função popen()
. No entanto, ao contrário da função popen()
, ela aguarda a execução do comando antes de fornecer o código de retorno. Passamos o comando como um argumento para a função.
Por exemplo,
import subprocess
subprocess.call("echo Hello World", shell=True)
Use a função subprocess.run()
para executar comandos de sistema externo em Python
No Python v3.5 e superior, a função run()
é mais frequentemente usada para executar comandos de programa. Ele retorna um objeto de processo concluído após a execução do comando, passado para a função como um parâmetro.
Por exemplo,
import subprocess
print(subprocess.run("echo Hello World", shell=True))
Observe que o módulo subprocess
é preferível ao módulo os
para executar comandos externos em Python.
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn