Carregando...
LinuxPython

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 subprocess
import 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())
Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *