Pesquisar este blog

segunda-feira, 3 de agosto de 2009

Fazendo um script em python

Primeiro gostaria de sugerir esse site http://sexygamesparacelular.blogspot.com/ que possui joguinhos picantes para celular. Rsrsr, muito divertido.

Diversão libertina digital à parte, vamos ao assunto de hoje! Você que aprendeu a sintaxe do python e como fazer um "hello world", deve estar agora disposto a novos desafios, não é mesmo? Bem, que tal escrever um programinha simples, por linha de comando, que faça alguma para você? Esse é o objetivo dessa postagem! Ensinar algumas técnicas e detalhes interessantes na construção de pequenos scripts em python.

Definindo alguns detalhes da implementação.

O que o programa fará?
Ele deve zipar o arquivo informado.

Quais opções devem ser aceitas?
Apenas -o para especificar arquivo de saída.

Deve ser multi-plataforma?
Não. Ele é para linux.

Compatibilidade com python:
python 2.5>=

Alguma biblioteca externa?
Não.

Agora, vamos à codificação. Primeiro, como todo bom programa escrito em python 2.x, devemos informas a codificação do código primeiro. Sugiro utilizar o utf-8, por ser bastante abrangente.

# -*- coding:utf-8 -*-

O código acima informa que as string do arquivo python atual estão na codificação utf-8, que é a padrão do python-3.0.

Agora, importando o que será usado.

import os.path as path
import sys
import getopt
import zipfile

os.path nos permite obter algumas informações úteis sobre o arquivo que estamos convertendo, enquanto o sys permite-nos obter os parâmetros informados em linha de comando. getopt é uma biblioteca que facilita a interpretação dos parâmetros informados em linha de comando e zipfile permite-nos trabalhar com os arquivos zip.

Que tal definirmos um método main?

def main(argv): pass

E por último, o código que chama nosso método main.

if __name__=="__main__": main(sys.argv[1:])

O código acima tem uma função muito interessante. Ele checa se o arquivo .py foi executado com o comando python ou se foi apenas importado. Se tiver sido executado, ele executa o main. Isso facilita muito a utilização de um mesmo código de forma autônoma ou como uma biblioteca.

Como o blogspot não ajuda muito no quesito "escrever código", joguei um embed abaixo[agradecimentos ao sérgio]. Está comentado = ].



obs: getopt foi usado de uma forma bem simples. Depois faço um exemplo mais "cabra homi"!

Abraço.

2 comentários:

  1. Italo, você poderia editar o post e colocar o código "embeded" do snipt?

    Explico, é que eu quero guardar este link no meu delicious :) Além é claro de indicar para amigos! Assim teremos tudo num só link

    ResponderExcluir