Posts tagged Python

SQLite, Resolvendo Problemas Simples com um Banco Simples

Porque levantar um pesado sistema de banco de dados, criar databases, criar tabelas, configurar permissões acessos, configurar usuários, setar portas, rodar daemons só para resolver um problema simples de armazenamento?

O SQLite é um banquinho leve e simples para resolver de maneira simples problemas que realmente são simples.

More >

Programa para imprimir ele mesmo

Aqui uma tarefa de programação interessante.
Escrever o código que imprime ele mesmo.

Python no espelho. Python in a mirror.

Em Python é isso:

import sys
me = open(sys.argv[0])
for line in me:
   print line,
me.close()

Em Shell Script por Xisberto:

cat $0

Em PHP por Paulo André:

$file = “teste.php”;
$fcontent = file_get_contents($file);
highlight_string($fcontent, false);

obs: O que eu quero não é o problema de Quine, mas sim um programa que abra seu código-fonte e o imprima. Eu uso isso para páginas feitas em Python onde eu quero que o usuário possa ver o código-fonte da aplicação facilmente.

Se você fizer em outra linguagem e colocar nos comentários, eu o coloco dentro desse post.

Espelho ovalAproveite e dê uma olhada nos melhores preços de espelhos para sua casa.

Buscapé.

Python para extrair informações

Python agarra homemPython me tem sido muito útil no dia-a-dia para recuperar grandes quantidades de dados codificadas dentro de sites.

Por exemplo, eu precisava de todos os nomes de cursos de pós graduação da UFC para depois jogar em uns formulário do Joomla. Esses dados podem ser conseguidos neste site da Capes.

Lá os dados estavam assim:

Cursos da UFC dentro do site da CAPES

Os nomes dos cursos estavam dentro de células de uma grande tabela, com letras todas em maiúsculo. Tentei copiar e colar um a um, na mão, mas eu vi que eu levaria um eternidade para terminar.

A título de exemplo e por segurança, eu salvei uma cópia da página em questão no nosso servidor, para que o script não falhe.

Então, transformamos esse trabalho chato e repetitivo em algo que o Python pode fazer pra você:

import urllib
pagina = urllib.urlopen("http://eupodiatamatando.com/downloads/cursos.html")
for linha in pagina:
   if linha.find("cd_programa") != -1:
      tmp = linha.split('>', 1)[1]
      nome = tmp.split('< ', 1)[0]
      print nome
pagina.close()

A saída desse programa é algo assim:

ADMINISTRAÇÃO DE EMPRESAS
AGRONOMIA (FITOTECNIA)
AGRONOMIA (IRRIGAÇÃO E DRENAGEM)
AGRONOMIA (SOLOS E NUTRIÇÃO DE PLANTAS)
AVALIAÇÃO DE POLÍTICAS PÚBLICAS
BIOQUÍMICA
CIÊNCIAS DA COMPUTAÇÃO

Da biblioteca urllib nós usamos o urlopen, que puxou a página e guardou num manipulador chamado pagina, como ele implementa o método next, nós podemos iterar sobre ele usando um simples for. Passamos por todas as linhas e sé há a string “cd_programa” dentro dela, então nós vamos pegar o que está dentro da tag. Claro que foi necessário perceber analisando o código-fonte da página que todas as células que continham o nome de curso possuim essa substring, mas sempre há algo assim.

O método split, que fatia a string, já foi discutido aqui antes.

Você deve estar se perguntando, “Vale a pena criar um programa que lê os dados especificamente de um site e que de uma hora para outra pode parar de funcionar?”. Sim, vale a pena, simplesmente porque com o tempo você vai escrevendo programas em Python cada vez mais rápido. O código só irá rodar uma vez mas no final você economizou tempo, e de uma maneira inteligente.

Por exemplo, se você quiser saber quais são as notícias que estão em cartaz no Br-linux agora:

import urllib
pagina = urllib.urlopen("http://br-linux.org")
for linha in pagina:
	if linha.find("node-title") != -1:
		tmp = linha.split('>',2)[2]
		nome = tmp.split('< ',1)[0]
		print nome
pagina.close()

Isso retorna algo assim:

Carregando seus feeds no bolso
Personalize seu teclado com o X e o KDE
Linux na cultura pop: GRUB nos quadrinhos da Marvel
iPod no Linux – guia ilustrado de uso com o Amarok
Feliz dia do Administrador de Sistemas!

Experimente usar isso no dia-a-dia, com o tempo você vai ficando bom em achar os padrões e fica fácil extrair semântica de dentro de um site.

Livros Python Promoção! Livros de Como Programar em Python pelos menores preços você encontra no Buscapé.

A folha de pesca do Django

O pessoal da mercurytide.com fez essa folha-resumo para Django.

Folha de pesca do django django sheet django cheat django shortcuts django atalhos

Está disponível em PDF ou em PNG de alta resolução. Dê uma olhada.

I love djangoVocê imprime isso numa folha A4 e você tem em mãos um pequeno guia para referência rápida dos modelos, tags e filtros do Django.

 Django é um framework para desenvolvimento rápido de aplicações web. É um framework que está crescendo e sendo muito adotado. Eu estou utilizando ele para um projeto da faculdade.

Livros Python Comece agora! Dê uma olhada nos livros de programação em Python pelos menores preços. Buscapé.

Urru! Saí no Daily Python URL

Doctor Fun, so who is guido van Rossum
ps: A tirinha acima não tem nada a ver com a notícia e não é minha.

O Daily Python URL é um site que traz diariamente um site com algum conteúdo relacionado à Python.

O artigo sobre Python Image Library, mesmo em português, que já havia saído no BR-Linux, agora foi um dos escolhidos como URL do dia 30-05-2007.

É um incentivo a mais para que eu comece a escrever e traduzir alguns posts bons, para inglês.