Category: Python
-
Django PostgreSQL used session on Github Actions test error
If you’re using the PostgreSQL service on Github Actions as a backend database for your Django tests, you might encounter the following error on any particular test: And the following at the end of your test run: The problem is that Django reuses the database connection, and while locally my tests were passing, on Github…
-
Alfabeto em Python
Não precisa digitar na mão: alfabeto = ‘abcdefghijklmnopqrstuvwxyz’ Isso imprime as letras minúsculas: print map(chr, range(97, 123)) E isso as maiúsculas: print map(chr, range(65, 91)) Mas você também pode contar com o próprio Python (pilhas incluídas, afinal!): from string import ascii_letters print ascii_letters E de novo: import string print string.ascii_lowercase print string.ascii_uppercase
-
Crivo de Eratóstenes em Python
Estou fazendo os desafios do Projeto Euler e nos dez primeiros já vi três com números primos. Meu primeiro algoritmo ingenuamente testava a primalidade de um número tentando dividÃ-lo por todos os números menores que ele. Uma lista com 1.000 números primos dessa maneira gera em pouco menos de um segundo no meu computador. Já…
-
RuntimeError: dictionary changed size during iteration
Em Python, o erro do tÃtulo desse post acontece quando você percorre um dicionário e ele é mudado durante o laço. Isso pode acontecer quando fazemos: >>> dicionario = {‘nome’: ‘Julio’, ‘sobrenome’: ‘Nobrega’} >>> for k, v in dicionario.iteritems(): … print v … del dicionario[k] … Nobrega Traceback (most recent call last): File “”, line…
-
Thread em Python
Comecei a fazer uma GUI usando o wxPython para tocar um arquivo de música com o código de ontem. Implementei o botão de seleção do arquivo, que até filtra os arquivos a serem mostrados de acordo com as extensões especificadas. No meu caso, *.mp3 e *.ogg. Só que selecionado o arquivo, a interface travava. Pesquisando…
-
MP3 com Python
Sem bibliotecas adicionais como libmpg123 ou gstreamer ou qualquer outra. Puro Python. Bem, quase, já que o PyMedia é escrito em sua maioria em C, mas depois de instalado você pode usar o import para trazê-lo. import pymedia.audio.sound as sound import pymedia.audio.acodec as acodec def playFile(file_name): file_extension = file_name.split(‘.’ )[ -1 ].lower() parms = {‘id’:…
-
Navegando com Mechanoid
Existe um programa chamado Mechanoid feito em Python, uma colagem dos programas que compõem o Mechanize, só que voltado à execução de determinadas tarefas especÃficas, como entrar no Sourceforge ou conferir o Yahoo Mail. Basicamente ele emula um navegador, abrindo páginas, clicando em links, preenchendo formulários. É tão fácil que dói os olhos…
-
SLOC em Python
Um pequeno script em Python para contar o número de linhas de todos os arquivos em um diretório (e sub-diretórios). Apenas edite a variável diretorio. import os.path diretorio = “/var/www/html/site/” def visit(arg, dirname, names): for arquivo in names: arquivo_caminho = os.path.join(dirname, arquivo) if os.path.isfile(arquivo_caminho): f = open(arquivo_caminho) lines = len(f.readlines()) arquivos.append(lines) arquivos = [] os.path.walk(diretorio,…