681
Comentário:
|
9220
Refactoring Wiki
|
Deleções são marcadas assim. | Adições são marcadas assim. |
Linha 2: | Linha 2: |
= Cookbook = | |
Linha 4: | Linha 3: |
Cookbook vem do inglês e siginifica Livro de Receitas. Esta seção é destinada exatamente para conter trechos úteis de código Python. Aquele mini-aplicativo, método, classe, função, ou simplesmente uma dica de uso de Python deve ser colocada aqui. | [[TableOfContents]] ''Cookbook'' vem do inglês e significa Livro de Receitas. Esta seção destina-se exatamente a conter trechos úteis de código Python. Aquele mini-aplicativo, método, classe, função ou simplesmente uma dica de uso de Python deve ser colocada aqui. |
Linha 8: | Linha 9: |
* ReceitaBarraDeProgresso - Função que implementa uma barra de progresso em tela texto (terminal). * ContarOcorrenciasEmLista - Conta as Ocorrências de um texto em uma lista. Coloca o resultado num dict. * PyGTKSocketIO - Exemplo de como usar o select embutido em PyGTK para manipular sockets e arquivos de forma assíncrona. |
=== Arquivos === |
Linha 12: | Linha 11: |
---- | * ArquivoDeConfiguracao - Leitura e escrita de um arquivo de configuração simples usando o python * DividirArquivosEmVariosCDsOuDVDs - Script que organiza uma série de arquivos em vários DVDs/CDs. Útil quando você não quer pensar muito ou pra otimizar o uso do DVD/CD. |
Linha 14: | Linha 14: |
Osvaldo Santana Neto | === Banco de Dados === * ConexaoOracle - Exemplo de conexão com o Banco de Dados Oracle. === Criptografia, senhas e validadores === * CriptografiaDidatica - Um exemplo didático de implementação de um algoritmo de (de)criptografia (fraca) em Python. * PyCryptoChavePublica - Exemplo de uso da biblioteca {{{PyCrypto}}} com algoritmo de criptografia de chave pública. * GerandoPasswords - Script gráfico pra fazer senhas rapidamente. * GeradorDeCpf - Gerador de CPFs aleatório. Três versões diferentes para todos os gostos. * VerificadorDeCpf - Módulo contendo funções e classe para verificação de números de CPF. * VerificadorDeCpfparaZope - Mesmo módulo, somente adaptado para rodar no Zope. * VerificadorDeCnpj - Módulo contendo funções e classe para verificação de números de CNPJ. === Formatos, datas, números e conversões === * FloatFormat - Função para formatar um número do tipo {{{float}}}. * FormatarDatas - Exemplo mostra como formatar datas e somas entre datas usando {{{mx.DateTime}}} e a datetime do proprio python. * FormatarNumeros - Exemplo do uso locale para formatação de números e moedas no formato do pais. * FrmtBytes - Formatador de "bytes". * NumeroParaPalavrasEspanhol - Programa que, quando recebe numero, retorna sua forma "por extenso", em espanhol * TiradorDeAcentos - Um tirador de acentos e "verificador de imprimibilidade" de strings UTF-8. * StripHtml - Remove tags HTML de uma string. * RenameFiles - Renomeia arquivos seguindo um padrão. === Imagens === * ConversaoDeImagens - Um exemplo de como converter uma imagem BMP para JPG usando a biblioteca PIL. === Interfaces Gráficas === * AdivinhacaoTkinter - Programa para adivinhar número que o usuário pensou, utilizando tkInter * BarraProgresso - Barra de progresso para uso geral, como, adicionar registros no treeview e/ou adicionar cabeçalho no reportlab. * GameOfLifeConway - Classe que aplica a regra básica (#R 23/3) do Game Of Life em uma matriz de 0s e 1s. * HelloWordPyQT * MaskEntry - Classe para o Entry do pyGTK com mascára de entrada. * Calculadoras Python * MiniCalculadora - Calculadora simples com parsing top-down. * CalculadoraSimples - Calculadora simples. * CalculadoraTkinter - Funções de bibliotecas padrões Python. * CalculadoraSimplesTk - Construção detalhada dos frames. * CalculadoraWxPython - Gerada pelo BOA Constructor. * CalculadoraQt - Criada com o {{{QtDesigner}}}. * PyGtkMensagens - Como padronizar suas mensagens no seu aplicativo. * PyGtkComboBoxEntry - Várias Rotinas Usando {{{ComboBoxEntry}}} no PyGtk * PyGtkCellRenderCombo - Treeview com Combo * QtSignalEmPython - Uma implementação de QT Signals em Python. * SorteadorDeElemento - Pequeno programa em Tkinter que cadastra elementos e posteriormente sorteia um deles. * TelaCadastro - Exemplo de tela criada com o glade sendo executa pelo PyGTK. * Tkinter3dCanvas - Desenha um cubo em 3D num Tkinter.Canvas, com três barras de rolagem para rotacioná-lo. * TkinterShelve - Um pequeno software de cadastro que usa Tkinter pra interface e Shelve para persistência dos objetos. * VariavelGlobalpyGtk - Este pequeno aplicativo mostra como transferir as variaveis entre janelas. === Indexação === * AchaMaiorLinhaEmArquivo - Abre um arquivo e retorna a(s) linha(s) de maior comprimento, em uma lista. * BuscaPyBrasil - Código que faz busca por palavras no histórico da lista de discussão python-brasil no Yahoogrupos. * ContarOcorrenciasEmLista - Conta as Ocorrências de um texto em uma lista. Coloca o resultado num dict. * QuickSort - Algoritmo Quick Sort implementado em Python. * RemoverRepetidosLista - Função para remover elementos repetidos de uma lista. === Linguagem (Avançado) === * AutomatizarAtributosSlots - Metaclasses para automatizar a definição de atributos recebidos no método init e o atributo slots. * CacheDeFuncoes - Exemplo de uma função que retorna uma função. A função cache_f() recebe uma função como paramêtro e retorna uma função igual a função original com um cache associado. * DaemonizadorDeProgramas - Módulo para transformar um script em daemon. * SimulandoOperadorTernario - Como simular um operador ternário (o ? do C) em Python. === XML, HTML e Internet === * LendoXml - Exemplo simples de como ler um arquivo XML com xml.dom.minidom. * LendoXml2 - Uma pequena mudança no LendoXml acima, para extrair os valores do nó. * LendoXmlComLibxml2 - Exemplo simples de como ler arquivo XML com Libxml2 * PythonToHtml - Pequeno aplicativo que converte códigos fontes em Python para HTML aplicando syntax highlighting. * RankingLinguagens - Exemplo simples porém útil de urllib e regular expressions. * ThreadingXmlrpc - Uma classe que implementa multi-thread na classe SimpleXMLRPCServer. * WebSqlObject - Exemplo de armazenamento de dados em Banco de Dados a partir de formulários Web. * WebService - Exemplo de criação e utilização de um webservice. * WsUpload - Exemplo de um webservice para transferência de arquivo para o servidor. * WebSms - Módulo para envio de mensagens para telefone celular via interface web da operadora (Telemig Celular). === Sistema Operacional === * BatteryMonitor - Monitor da bateria de notebooks usando os recursos APM (Linux) * ChamarFuncaoEmDLL - Como chamar funções de uma DLL no Windows. * ChecarConexaoComInternet - Testa se existe uma conexão com a internet. * DesligarLinuxViaSockets - Exemplo de script para desligar máquinas Linux usando Sockets. * ImprimindoWindows - Como imprimir no Windows com as extensões win32 para Python * MapeandoErrosParaExcecoes - Uma idéia para mapear códigos de erro do sistema operacional para exceções. * MonitorandoSocketsComPyGtk - Exemplo de como usar as funções de monitorar IO embutidas em PyGTK para manipular sockets e arquivos de forma assíncrona. * MonitorandoSocketsComTkinter - A mesma idéia do exemplo MonitorandoSocketsComPyGtk, porém usando Tkinter. * PequenoUsoDeSockets - Um exemplo de joguinho utilizando sockets. * MagicVelox - script que faz a autenticação do velox, para quem não aguenta mais o login do provedor, utilizando socket, re e urlopen. * ParâmetrosnoShell - Entrada de valores no script pela linha de comando. * ProcurarMp3eGerarPlaylist - Pequeno script que procura arquivos MP3 por palavra-chave, gera uma playlist e abre o xmms/winamp pra executá-la. * PyWin32Com - Exemplo de um componente COM (servidor) em Python. * OfficeToPdf - Rotina para automação do processo de geração de PDF (e outros formatos também) a partir de arquivos Microsoft Word e Excel através do PDFCreator (Uso extensivo de COM) === Outras Implementações e exemplos === * CategorizarNadador - Categoriza nadador pela idade. São apresentados duas soluções para o problema, uma usando if/elif/else e outra usando o módulo bisect. * EnviarEmail - Rotina para enviar e-mail com anexos. * ExecutandoEmIntervalos - Quatro formas de se executar periodicamente uma determinada função. * InterpretadorHq9 - Interpretador da linguagem HQ9+ * IncludeModulo - Um "include()" para Python. * InteligenciaArtificial - Um exemplo de como usar o módulo PyAIML. * ParticionarSeqüência - Exemplo de como particionar uma seqüencia em uma lista com um número máximo de elementos. * ProgramacaoFuncional - Um exemplo de como fazer algo útil fazendo uso da programação funcional. * Py2ExeSimples - Pequeno script para gerar arquivos executáveis para console a partir de scripts Python. * Py2ExeCom - Script para gerar bibliotecas com componentes COM. * ReceitaBarraDeProgresso - Função que implementa uma barra de progresso em tela texto (terminal). * ResolvedorLabirinto - Resolvedor de labirintos escrito em Python * ResolvedorLabirintoGrafico - versão do ResolvedorLabirinto que mostra o passo-a-passo graficamente (em PyGame). * TraduzindoSeuPrograma - Como traduzir seu programa usando o gettext. * WeakList - Especialização da classe List para que não incremente o contador de referência dos objetos contidos nela. * PrologPython - Funções básicas do Prolog implementadas em Python. |
Cookbook vem do inglês e significa Livro de Receitas. Esta seção destina-se exatamente a conter trechos úteis de código Python. Aquele mini-aplicativo, método, classe, função ou simplesmente uma dica de uso de Python deve ser colocada aqui.
Receitas
Arquivos
ArquivoDeConfiguracao - Leitura e escrita de um arquivo de configuração simples usando o python
- DividirArquivosEmVariosCDsOuDVDs - Script que organiza uma série de arquivos em vários DVDs/CDs. Útil quando você não quer pensar muito ou pra otimizar o uso do DVD/CD.
Banco de Dados
ConexaoOracle - Exemplo de conexão com o Banco de Dados Oracle.
Criptografia, senhas e validadores
CriptografiaDidatica - Um exemplo didático de implementação de um algoritmo de (de)criptografia (fraca) em Python.
PyCryptoChavePublica - Exemplo de uso da biblioteca PyCrypto com algoritmo de criptografia de chave pública.
GerandoPasswords - Script gráfico pra fazer senhas rapidamente.
GeradorDeCpf - Gerador de CPFs aleatório. Três versões diferentes para todos os gostos.
VerificadorDeCpf - Módulo contendo funções e classe para verificação de números de CPF.
VerificadorDeCpfparaZope - Mesmo módulo, somente adaptado para rodar no Zope.
VerificadorDeCnpj - Módulo contendo funções e classe para verificação de números de CNPJ.
Formatos, datas, números e conversões
FloatFormat - Função para formatar um número do tipo float.
FormatarDatas - Exemplo mostra como formatar datas e somas entre datas usando mx.DateTime e a datetime do proprio python.
FormatarNumeros - Exemplo do uso locale para formatação de números e moedas no formato do pais.
FrmtBytes - Formatador de "bytes".
NumeroParaPalavrasEspanhol - Programa que, quando recebe numero, retorna sua forma "por extenso", em espanhol
TiradorDeAcentos - Um tirador de acentos e "verificador de imprimibilidade" de strings UTF-8.
StripHtml - Remove tags HTML de uma string.
RenameFiles - Renomeia arquivos seguindo um padrão.
Imagens
ConversaoDeImagens - Um exemplo de como converter uma imagem BMP para JPG usando a biblioteca PIL.
Interfaces Gráficas
AdivinhacaoTkinter - Programa para adivinhar número que o usuário pensou, utilizando tkInter
BarraProgresso - Barra de progresso para uso geral, como, adicionar registros no treeview e/ou adicionar cabeçalho no reportlab.
GameOfLifeConway - Classe que aplica a regra básica (#R 23/3) do Game Of Life em uma matriz de 0s e 1s.
- HelloWordPyQT
MaskEntry - Classe para o Entry do pyGTK com mascára de entrada.
- Calculadoras Python
MiniCalculadora - Calculadora simples com parsing top-down.
CalculadoraSimples - Calculadora simples.
CalculadoraTkinter - Funções de bibliotecas padrões Python.
CalculadoraSimplesTk - Construção detalhada dos frames.
CalculadoraWxPython - Gerada pelo BOA Constructor.
CalculadoraQt - Criada com o QtDesigner.
PyGtkMensagens - Como padronizar suas mensagens no seu aplicativo.
PyGtkComboBoxEntry - Várias Rotinas Usando ComboBoxEntry no PyGtk
PyGtkCellRenderCombo - Treeview com Combo
QtSignalEmPython - Uma implementação de QT Signals em Python.
SorteadorDeElemento - Pequeno programa em Tkinter que cadastra elementos e posteriormente sorteia um deles.
TelaCadastro - Exemplo de tela criada com o glade sendo executa pelo PyGTK.
Tkinter3dCanvas - Desenha um cubo em 3D num Tkinter.Canvas, com três barras de rolagem para rotacioná-lo.
TkinterShelve - Um pequeno software de cadastro que usa Tkinter pra interface e Shelve para persistência dos objetos.
VariavelGlobalpyGtk - Este pequeno aplicativo mostra como transferir as variaveis entre janelas.
Indexação
AchaMaiorLinhaEmArquivo - Abre um arquivo e retorna a(s) linha(s) de maior comprimento, em uma lista.
BuscaPyBrasil - Código que faz busca por palavras no histórico da lista de discussão python-brasil no Yahoogrupos.
ContarOcorrenciasEmLista - Conta as Ocorrências de um texto em uma lista. Coloca o resultado num dict.
QuickSort - Algoritmo Quick Sort implementado em Python.
RemoverRepetidosLista - Função para remover elementos repetidos de uma lista.
Linguagem (Avançado)
AutomatizarAtributosSlots - Metaclasses para automatizar a definição de atributos recebidos no método init e o atributo slots.
CacheDeFuncoes - Exemplo de uma função que retorna uma função. A função cache_f() recebe uma função como paramêtro e retorna uma função igual a função original com um cache associado.
DaemonizadorDeProgramas - Módulo para transformar um script em daemon.
SimulandoOperadorTernario - Como simular um operador ternário (o ? do C) em Python.
XML, HTML e Internet
LendoXml - Exemplo simples de como ler um arquivo XML com xml.dom.minidom.
LendoXml2 - Uma pequena mudança no LendoXml acima, para extrair os valores do nó.
LendoXmlComLibxml2 - Exemplo simples de como ler arquivo XML com Libxml2
PythonToHtml - Pequeno aplicativo que converte códigos fontes em Python para HTML aplicando syntax highlighting.
RankingLinguagens - Exemplo simples porém útil de urllib e regular expressions.
ThreadingXmlrpc - Uma classe que implementa multi-thread na classe SimpleXMLRPCServer.
WebSqlObject - Exemplo de armazenamento de dados em Banco de Dados a partir de formulários Web.
WebService - Exemplo de criação e utilização de um webservice.
WsUpload - Exemplo de um webservice para transferência de arquivo para o servidor.
WebSms - Módulo para envio de mensagens para telefone celular via interface web da operadora (Telemig Celular).
Sistema Operacional
BatteryMonitor - Monitor da bateria de notebooks usando os recursos APM (Linux)
- ChamarFuncaoEmDLL - Como chamar funções de uma DLL no Windows.
ChecarConexaoComInternet - Testa se existe uma conexão com a internet.
DesligarLinuxViaSockets - Exemplo de script para desligar máquinas Linux usando Sockets.
ImprimindoWindows - Como imprimir no Windows com as extensões win32 para Python
MapeandoErrosParaExcecoes - Uma idéia para mapear códigos de erro do sistema operacional para exceções.
MonitorandoSocketsComPyGtk - Exemplo de como usar as funções de monitorar IO embutidas em PyGTK para manipular sockets e arquivos de forma assíncrona.
MonitorandoSocketsComTkinter - A mesma idéia do exemplo MonitorandoSocketsComPyGtk, porém usando Tkinter.
PequenoUsoDeSockets - Um exemplo de joguinho utilizando sockets.
MagicVelox - script que faz a autenticação do velox, para quem não aguenta mais o login do provedor, utilizando socket, re e urlopen.
ParâmetrosnoShell - Entrada de valores no script pela linha de comando.
ProcurarMp3eGerarPlaylist - Pequeno script que procura arquivos MP3 por palavra-chave, gera uma playlist e abre o xmms/winamp pra executá-la.
PyWin32Com - Exemplo de um componente COM (servidor) em Python.
OfficeToPdf - Rotina para automação do processo de geração de PDF (e outros formatos também) a partir de arquivos Microsoft Word e Excel através do PDFCreator (Uso extensivo de COM)
Outras Implementações e exemplos
CategorizarNadador - Categoriza nadador pela idade. São apresentados duas soluções para o problema, uma usando if/elif/else e outra usando o módulo bisect.
EnviarEmail - Rotina para enviar e-mail com anexos.
ExecutandoEmIntervalos - Quatro formas de se executar periodicamente uma determinada função.
InterpretadorHq9 - Interpretador da linguagem HQ9+
IncludeModulo - Um "include()" para Python.
InteligenciaArtificial - Um exemplo de como usar o módulo PyAIML.
ParticionarSeqüência - Exemplo de como particionar uma seqüencia em uma lista com um número máximo de elementos.
ProgramacaoFuncional - Um exemplo de como fazer algo útil fazendo uso da programação funcional.
Py2ExeSimples - Pequeno script para gerar arquivos executáveis para console a partir de scripts Python.
Py2ExeCom - Script para gerar bibliotecas com componentes COM.
ReceitaBarraDeProgresso - Função que implementa uma barra de progresso em tela texto (terminal).
ResolvedorLabirinto - Resolvedor de labirintos escrito em Python
ResolvedorLabirintoGrafico - versão do ResolvedorLabirinto que mostra o passo-a-passo graficamente (em PyGame).
TraduzindoSeuPrograma - Como traduzir seu programa usando o gettext.
WeakList - Especialização da classe List para que não incremente o contador de referência dos objetos contidos nela.
PrologPython - Funções básicas do Prolog implementadas em Python.