python

Python – Executando processos paralelos em Threads

O Python nos fornece recursos para paralelismo, esses recursos se encontram no package multiprocessing multiprocessing is a package that supports spawning processes using an API similar to the threading module. The multiprocessing package offers both local and remote concurrency, effectively side-stepping the Global Interpreter Lock by using subprocesses instead of threads. Due to this, the […]

Controlando transações de status com Finite State Machine – Parte 2

Dando continuidade a primeira parte dessa série sobre FSM, agora iremos por um pouco a mão na massa! Show me the Code!  Para por a mão na massa primeiro precisaremos de um projeto e um problema, assim mostraremos uma solução!  O projeto que será apresentado se chama “PokeCatcher State Machine” desenvolveremos um software que irá simular […]

Python – Fazendo mock de um método de um Objeto

O pacote unittest.mock nos fornece inumeras possíbilidades, uma delas é fazer um mock de uma função específica de determinado objeto, deixando-o bem explicito. Para isso vamos utilizar o recurso patch.object descrito em sua documentação: https://docs.python.org/3/library/unittest.mock.html#patch-object Podemos também dizer qual o comportamento esperado, ou o que deve ser retornado, apenas adicionando o argumento return_value :

Python / unittest – Como mockar a função input ? (Mocking raw input in unittests)

Atualmente estou aprendendo Python e como todo bom iniciante utilizamos muito as entradas e saídas no terminal para desenvolver aplicações, mas até para simples aplicações não podemos esquecer dos testes e atualmente me deparei com o seguinte caso: Como mockar a função input do Python ? Bom, ao pesquisar bastante acabei encontrando essa maneira de […]

Python – Como verificar a versão de um pacote / biblioteca instalada?

No Python utilizamos a ferramenta pip como sistema de gerenciamento de pacotes. Para descobrirmos quais pacotes temos instalados basta executar o seguinte comando: user@helpdev:~$ pip freeze O comando executado retornará uma lista com seus pacotes e respectivas versões, da seguinte maneira: user@helpdev:~$ pip freeze attrs==17.4.0 Cheetah==2.4.4 configobj==5.0.6 funcsigs==1.0.2 pluggy==0.6.0 psutil==5.4.2 py==1.5.2 pycairo==1.16.2[…] Para filtrarmos e […]

Python / PyCharm – ModuleNotFoundError: No module named ‘distutils.core’ (Can’t install virtual interpreter in PyCharm in Linux)

Erro ao criar um Projeto com VirtualVenv no PyCharm: ModuleNotFoundError: No module named ‘distutils.core’ Solução: $sudo apt-get install python3-distutils

Python / Redis – O que é o caracter ‘b’ no retorno do redis (About char b prefix in Python client connect to redis)

b’Hello Python’ Esse tipo de retorno indica que o valor é um byte de string – o redis irá codificar automaticamente a string unicode para você na gravação, mas é seu trabalho decodificá-lo ao pega-lo. >>> redisClient = redis.Redis(host=’0.0.0.0′,port=6379) >>> redisClient.set(‘test_redis’, ‘Hello Python’) >>> redisClient.get(‘test_redis’) b’Hello Python’ Podemos decodificar seu valor de duas maneiras: A […]

Python – Criando um ambiente virtual (venv) – (Creation of virtual environments)

O módulo venv fornece suporte para a criação de “ambientes virtuais” leves com seus próprios diretórios isolados dos diretórios do sistema. Cada ambiente virtual tem seu próprio binário Python (que corresponde à versão do binário que foi usada para criar esse ambiente) e pode ter seu próprio conjunto independente de pacotes Python instalados em seus […]

Rolar para o topo