Category Archives: Python

Python: split() de palavras com "strings protegidas"

Palavras-chave: Python, split, tokenizacão, análise léxica, parser, strings, quotes, aspas O módulo re possui a conveniente função split(), que faz o mesmo que o split() dos strings, mas aceita expressões regulares como separador. Isto pode ser aproveitado para fazer um … Continue reading

Posted in Python | 2 Comments

Python: Documentação e testes

Palavras-chave: testes, unittest, docstring, documentação, testes unitários, rest, docutils Todo desenvolvedor sabe que fazer testes é superimportante e que fazer documentação também é algo que melhora a qualidade de seus produtos. Mas num primeiro momento, fazer testes é trabalhoso e … Continue reading

Posted in Python | 1 Comment

Python: Descobrir qual o diretório do usuário

Palavras-chave: userdir, home, homedrive, homepath, arquivo de configuração Frequentemente precisamos guardar preferências do usuário de nossos programas em algum arquivo de configuração. Em ambientes UNIX/Linux a prática diz que esses arquivos devem ser guardados dentro do diretório $HOME e de … Continue reading

Posted in Python | 1 Comment

Python: Imprimir mensagens de erro (stderr)

Palavras-chave: print, stdin, stdout, stderr, erro, dispositivos, entrada/saída Quando estamos fazendo um programa que roda na linha de comando e precisamos fazer com que esse programa imprima uma mensagem de erro ou alerta, é aconselhável enviar essa mensagem para a … Continue reading

Posted in Python | Leave a comment

Python: UTF8 e SQLObject

Palavras-chave: Unicode, utf8, SQLObject, TurboGears, erro UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xc3 in position 50: ordinal not in range(128) Este erro pode ocorrer quando se tenta executar queries que envolvem caracteres Unicode (na query em si ou no resultado) … Continue reading

Posted in Python | Leave a comment

Python: Criando pacotes e módulos

Palavras-chave: pacote, módulo, import Criar um módulo em Python é extremamente simples. Basta apenas criar um arquivo .py dentro de algum diretório listado em sys.path. Alguns desenvolvedores também gostariam de fazer pacotes com módulos em Python. Esses pacotes permitiriam que … Continue reading

Posted in Python | 8 Comments

Python: Rastreando chamadas de funções

Palavras-chave: debug, depuração, trace, decorators Essa dica veio de um amigo meu (Ulysses) e foi enviada para a lista de discussões PythonBrasil. É muito comum precisar rastrear as chamadas de funções que ocorrem dentro dos programas, para facilitar nossa vida … Continue reading

Posted in Python | Leave a comment

Python: Importando módulos errados

Palavras-chave: erro, debug, módulos Se acontecer de, durante o desenvolvimento, você dar um import em um módulo Python e por alguma razão inexplicável o módulo que você importou não funciona ou funciona como se fosse uma versão antiga verifique o … Continue reading

Posted in Python | 1 Comment

Python: Declarar a codificação dos fontes (encoding)

Palavras-chave: Python, encoding, iso-8859-1, latin-1, utf-8, unicode, DeprecationWarning Quando você coloca algum caractere acentuado no seu programa, por exemplo “á”, um aviso é mostrado na execução: sys:1: DeprecationWarning: Non-ASCII character ‘\xe1’ in file foo.py on line 3, but no encoding … Continue reading

Posted in Python | 6 Comments

Python: Formatar strings com dicionários (template)

Palavras-chave: strings, formatação, template, dicionário Muitos programadores certamente sabem que a linguagem Python nos permite formatar strings usando os caracteres de formatação comuns à linguagem C. O que talvez poucos saibam é que existe uma “extensão” ao padrão C que … Continue reading

Posted in Python | Leave a comment