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 desejadaprocess = 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 codeexit_code = process.wait()# Transformando as saídas em UTF-8out = out.decode('utf-8') if out is not None else Noneerr = err.decode('utf-8') if err is not None else None# Mostrando na tela o output do comando bashprint(out)# Mostrando na tela o output de erro do comando bashprint(err)# Filtrando o output do comando bash com expressão regularmatch = re.match(r'.*([0-9]+\.[0-9]+)\..*', out)openvpn_version = match.group(1)# ou para mostrar todos os grupos capturados pelo regexprint(match.groups())

You should also read:

Gerador de senhas em Python

import stringimport randomdef randompassword(): special_chars = '~@!?/%$#*^`´;:' chars = string.ascii_uppercase + string.ascii_lowercase + string.digits + special_chars size = random.randint(30, 32) return ''.join(random.choice(chars) for…