Fazendo scripts de Linux em Python 3
Python é uma linguagem fácil de aprender e escrever, portanto ela é um candidato muito bom para substituir o bash em tarefas do Linux. Para isso precisamos usar a biblioteca subprocess do Python, ela permite executar comandos bash (fazer chamadas de sistema)
Ele é bem útil para expressões regulares também.
Um exemplo:
import subprocessimport re # Criando o comando bash e transformando ele em um array (usando os espaços como base do split) bash_command = 'openvpn --version'.split() # Criando a chamada de sistema (comando bash), voce pode colocar encoding='utf-8' para ele transformar automaticamente os outputs na codificação de texto desejada process = subprocess.Popen(bash_command, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) # Executando a chamada de sistema (comando bash) out, err = process.communicate() # Esperando o programa terminar sua execução e pegando seu exit code exit_code = process.wait() # Transformando as saídas em UTF-8 out = out.decode('utf-8') if out is not None else None err = err.decode('utf-8') if err is not None else None # Mostrando na tela o output do comando bash print(out) # Mostrando na tela o output de erro do comando bash print(err) # Filtrando o output do comando bash com expressão regular match = re.match(r'.*([0-9]+\.[0-9]+)\..*', out) openvpn_version = match.group(1) # ou para mostrar todos os grupos capturados pelo regex print(match.groups())