Python Tricks

- 2 min read

Python é legal (period).

Se não existisse bash, muito provavelmente eu somente utilizaria Python. Sendo parte de uma empresa atualmente que entrega produtos com base no ambiente Node + TypeScript, hoje vejo cada vez menos a necessidade de usar Python e cada vez mais a facilidade e o prazer de estar fazendo isso mesmo que não tenha qualquer obrigação monetária por trás. Ou seja, mesmo que Python não seja sua linguagem principal, vale muito a pena aprender.

Me dei conta disso hoje mais cedo, quando surgiu a necessidade de renomear uma quantidade alta de arquivos que tiveram a nomenclatura errada escolhida. Se você for um adepto do XGoHorse, sabe que isto é um trabalho manual ingrato. Mas como temos como mantra que qualquer trabalho automatizável pode (e será) automatizado em Python.

Logo, me surpreendi que seguindo um pouco de intuição e alguns trechos selecionados na doc oficial, em menos de vinte linhas, já tinha meu código pronto para remover uma tarde inteira e vários arquivos de dor de cabeça:

import glob
import re
from os import getcwd, rename
from pathlib import Path

mpath = getcwd()

files = glob.glob(mpath + "/src/**/*.ts", recursive=True)
regex = r"inserir-dados"

for f in files:
    matches = re.search(regex, f, re.MULTILINE)
    if matches is not None:
        original_name = f
        dest = f.replace("inserir", "salvar")
        output_file = Path(dest)
        output_file.parent.mkdir(exist_ok=True, parents=True)
        rename(original_name, dest)

Sério, quer algo mais simples que isso?

Um pouco mais além, tempo atrás criei também uma microlib para registrar gastos com a linguagem. Apesar do meu péssimo sistema de tags para gastos rs, foi uma experiência bem interessante, por testar várias libs como Pandas, threads, processes e aiofiles. Se você tem interesse em qualquer uma dessas, sugiro dar uma olhada.

GitHub - gabrielberthier/nu-python-csv: An async lib for parsing Nubank CSV invoices to a better format.
An async lib for parsing Nubank CSV invoices to a better format. - gabrielberthier/nu-python-csv

Python é legal.


Gabriel Berthier

Author: Gabriel Berthier