chamando o comando bash em python

-1

Eu chamei o comando bash em python em subprocess.call, e o retorno deve ser um número por exemplo 3, e na saída, ele dá o número como saída, mas não o coloca nas variáveis, por exemplo, a variável y aqui ainda é = 0 x é o comando da shell

y=subprocess.call(x,shell=True))
print "this is y",y

a saída é

3
this is y 0

Eu preciso usar o retorno 3 no meu script, mas não posso usá-lo porque y ainda retorna o valor 0, qualquer ideia de como colocar o valor retornado em uma variável

    
por Adam 18.03.2016 / 15:34

1 resposta

2

Resposta curta

O zero significa que o comando foi executado com sucesso (senão seria 1 )

Acho que é isso que você queria:

#!/usr/bin/python
import subprocess
a=["wc", "-l", "file.txt"]
y = subprocess.check_output(a).decode("utf-8").strip()
print(y)

Com saída:

35 file.txt
    
por Jacob Vlijm 18.03.2016 / 15:36