Como você chama um comando externo (como se eu o tivesse digitado no shell do Unix ou no prompt de comando do Windows) de dentro de um script
O módulo de subprocesso Python permite que você crie novos processos, conecte-se a seus canais de entrada / saída / erro e obtenha seus códigos de retorno. Use-o para executar um comando shell ou um executável em Python.
Como você chama um comando externo (como se eu o tivesse digitado no shell do Unix ou no prompt de comando do Windows) de dentro de um script
Quero escrever uma função que execute um comando shell e retorne sua saída como uma string , não importa se é uma mensagem de erro ou sucesso. Eu só quero obter o mesmo resultado que eu teria obtido com a linha de comando. O que seria um exemplo de código que faria uma coisa dessas? Por...
Estou usando o módulo subprocesso para iniciar um subprocesso e conectar ao seu fluxo de saída (stdout). Quero poder executar leituras sem bloqueio no seu stdout. Existe uma maneira de tornar o .readline sem bloqueio ou verificar se há dados no fluxo antes de eu chamar .readline? Eu gostaria que...
На этот вопрос есть ответы на Stack Overflow на русском : Прерывание процесса и задержка на исполнение Aqui está o código Python para executar um comando arbitrário retornando seus stdoutdados ou gerar uma exceção em códigos de saída diferentes de zero: proc =...
Estou iniciando um subprocesso com o seguinte comando: p = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True) No entanto, quando tento matar usando: p.terminate() ou p.kill() O comando continua sendo executado em segundo plano, então eu queria saber como posso realmente finalizar o...
Estou tentando fazer uma chamada de sistema em Python e armazenar a saída em uma string que eu possa manipular no programa Python. #!/usr/bin/python import subprocess p2 = subprocess.Popen("ntpq -p") Eu tentei algumas coisas, incluindo algumas das sugestões aqui: Recuperando a saída de...
Acredito que executar um comando externo com um ambiente ligeiramente modificado é um caso muito comum. É assim que eu faço: import subprocess, os my_env = os.environ my_env["PATH"] = "/usr/sbin:/sbin:" + my_env["PATH"] subprocess.Popen(my_command, env=my_env) Tenho a sensação de que há uma...
Estou usando o eSpeak no Ubuntu e tenho um script Python 2.7 que imprime e fala uma mensagem: import subprocess text = 'Hello World.' print text subprocess.call(['espeak', text]) O eSpeak produz os sons desejados, mas confunde o shell com alguns erros (ALSA lib ..., sem conexão de soquete),...
Se eu fizer o seguinte: import subprocess from cStringIO import StringIO subprocess.Popen(['grep','f'],stdout=subprocess.PIPE,stdin=StringIO('one\ntwo\nthree\nfour\nfive\nsix\n')).communicate()[0] Eu recebo: Traceback (most recent call last): File "<stdin>", line 1, in ? File...
Estou chamando processos diferentes com o subprocessmódulo. No entanto, eu tenho uma pergunta. Nos seguintes códigos: callProcess = subprocess.Popen(['ls', '-l'], shell=True) e callProcess = subprocess.Popen(['ls', '-l']) # without shell Ambos funcionam. Depois de ler os documentos, soube que...
Eu quero usar subprocess.check_output()com ps -A | grep 'process_name'. Tentei várias soluções, mas até agora nada funcionou. Alguém pode me orientar como
Meu script python usa subprocesso para chamar um utilitário linux que é muito barulhento. Eu quero armazenar toda a saída em um arquivo de log e mostrar algumas delas para o usuário. Eu pensei que o seguinte funcionaria, mas a saída não aparece no meu aplicativo até que o utilitário tenha produzido...
Para iniciar programas dos meus scripts Python, estou usando o seguinte método: def execute(command): process = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) output = process.communicate()[0] exitCode = process.returncode if (exitCode == 0): return...
Existe uma maneira de especificar o diretório de comando em execução no Python subprocess.Popen()? Por exemplo: Popen('c:\mytool\tool.exe', workingdir='d:\test\local') Meu script Python está localizado em C:\programs\python É possível executar C:\mytool\tool.exeno diretório D:\test\local? Como...
Estou usando um script python como um driver para um código hidrodinâmico. Quando chega a hora de executar a simulação, eu uso subprocess.Popenpara executar o código, coletar a saída de stdout e stderr em um subprocess.PIPE--- então posso imprimir (e salvar em um arquivo de log) as informações de...
Como recupero o código de saída ao usar o subprocessmódulo e o communicate()método do Python ? Código relevante: import subprocess as sp data = sp.Popen(openRTSP + opts.split(), stdout=sp.PIPE).communicate()[0] Eu deveria estar fazendo isso de outra
Eu quero chamar um programa externo do Python. Eu usei os dois Popen()e call()para fazer isso. Qual a diferença entre os dois? Meu objetivo específico é executar o seguinte comando do Python. Não tenho certeza de como os redirecionamentos funcionam. ./my_script.sh > output Eu li a...
Estou tentando executar um programa para fazer algumas chamadas de sistema dentro do código Python usando o subprocess.call()que lança o seguinte erro: Traceback (most recent call last): File "<console>", line 1, in <module> File "/usr/lib/python2.7/subprocess.py", line 493, in call...
Estou tentando escrever um script de wrapper para um programa de linha de comando (svnadmin Verifique) que exibirá um bom indicador de progresso para a operação. Isso exige que eu seja capaz de ver cada linha de saída do programa empacotado assim que for lançada. Imaginei que apenas executaria o...
Preciso executar um comando shell de forma assíncrona de um script Python. Com isso, quero dizer que quero que meu script Python continue em execução enquanto o comando externo dispara e faz tudo o que precisa ser feito. Eu li esta postagem: Chamar um comando externo em Python Então saí e...