You are currently browsing the category archive for the ‘Python’ category.

Para usar SQLite com Python é preciso instalar um biblioteca chamada pysqlite2 então vamos lá

No Ubuntu, GNU/Debian e derivados

#sudo apt-get install python-pysqlite2

No Windows você precisa baixar e instalar tudo manualmente, segue o link para o download

Para a verão 2.5 do python PySqlite2

Agora vamos ao que realmente interessa.

importa as bibliotecas para trabalhar com sqlite


from pysqlite2 import dbapi2 as sqlite

Conecta o sqlite e abre o arquivo de banco de dados databade.db caso o arquivo não exista ele ira cria-lo


sqlConnect = sqlite.connect('database.db')
sqlCursor = sqlConnect.cursor()

Exemplo de como fazer um INSERT


codigo = 1
nome = 'Carlos Henrique Marques da Cunha Filho'
idade = '23'

sql = "INSERT INTO tabela (codigo, nome, idade) VALUES (%s, '%s', '%s')" % (codigo, nome, idade)
sqlCursor.execute(sql)
sqlConnect.commit()

Exemplo de como fazer um SELECT


codigo = 1

sql = "SELECT * FROM tabela WHERE codigo = %s" % (codigo)
sqlCursor.execute(sql)
resultado = sqlCursor.fetchall()

Exemplo de como fazer um UPDATE


codigo = 1
nome = 'Carlos H. M. Cunha Filho'
idade = '25'

sql = "UPDATE tabela SET (nome = '%s', idade = '%') WHERE codigo = %s" % (codigo, nome, idade)
sqlCursor.execute(sql)
sqlConnect.commit()

Exemplo de como fazer um DELETE

codigo = 1
sql = "DELETE FROM tabela WHERE codigo = %s" % (codigo)

sqlCursor.execute(sql)

sqlCconnect.commit()

A metodologia para usar outros banco de dados é a mesma, em breve darei exemplos de como usar com MySQL também.

Hoje adicionei mais um software na minha pagina de projetos pessoais, é um software pequeno escrito em PyGTK, com banco de dados SQLite.

Para fins de administração de “games house”, ainda está em faze inicial, mas já é funcional, até onde foi escrito.

O próximo passo é colocar alguma documentação, e melhorar um um pouco os recursos, acho que logo terei uma versão final.

aos interessados fiquem de olho na pagina do projeto no Google Code

http://code.google.com/p/pygamehouseadmin/

Quando comecei a aprender PyGTK eu pensei em criar um programa simples para salvar os dados de Login e Senha dos vários servidores de Lineage 2 que eu jogava, como eram vários servidores e varias contas de usuário por servidor era fácil de esquecer.

Então comecei um projeto chamado PyL2Catalogo, criei uma interface no Glade e comecei a escrever o código, isso ja faz algum tempo e o programa esta perdido dentro de um pendrive, mas agora vou disponibilizar eles para que quem quiser aprender a usar PyGTK com Glade possa aproveitar.
Como não é possivel upar um arquivo compactado para o wordpress, vou colocar o arquivo no grupo PyGTK-Brasil e vou deixar só o link aqui para quem quiser pegar.

PyL2Catalogo.zip

E um screenshot para quem quiser conferir antes de baixar

Hoje eu resolvi escrever um script para gerar senhas aleatórias, e depois que o script ficou pronto eu decidi que ele precisava de uma interface grafica.

Então comecei a criar uma interface em GTK

e o resultado é o que vocês vão ver agora


#!/usr/bin/env python
# -*- coding: utf-8 -*

"""
# Script para gerar senhas aleatórias
# Por: Carlos Henrique Marques da Cunha Filho
# E-mail: rickadt@gmail.com
# Site: https://codigobr.wordpress.com/
# Versão 0.1
"""

import pygtk
pygtk.require("2.0" )
import gtk
from random import choice

##########
##########
class senhaForte:
    ##########
    ### Função construtora da classe
    def __init__(self):
        " Definindo as propriedades da janela "
        self.janela = gtk.Window(gtk.WINDOW_TOPLEVEL)
        self.janela.set_position(gtk.WIN_POS_CENTER)
        self.janela.set_title('Senha Forte' )
        self.janela.set_size_request(300, 300)
        self.janela.set_resizable(False)

        " Adicionando os wigets a janela "
        self.fixed = gtk.Fixed()
        self.janela.add(self.fixed)

        self.fixed.put(gtk.Label('Tamanho da senha: '), 50, 40)
        self.txtTamanho = gtk.Entry()
        self.txtTamanho.set_size_request(200, 30)
        self.fixed.put(self.txtTamanho, 50, 60)

        self.btGerar = gtk.Button('Gerar senha' )
        self.btGerar.set_size_request(200, 50)
        self.btGerar.connect('clicked', self.gerarSenha)
        self.fixed.put(self.btGerar, 50, 120)

        self.fixed.put(gtk.Label('Senha: ' ), 50, 200)
        self.txtSenha = gtk.Entry()
        self.txtSenha.set_size_request(200, 30)
        self.fixed.put(self.txtSenha, 50, 220)

        #conectando a janela aos destrutores para finalizar o programas
        self.janela.connect('delete_event', self.deleteEvento)
        self.janela.connect('destroy', self.sair)

        #Montra tudo na tala
        self.janela.show_all()
    ##########

    ##########
    ### Função que gera a senha aleatoriamente
    def gerarSenha(self, widget):
        tamanho = self.txtTamanho.props.text
        try:
            tamanho = int(tamanho)
        except:
            texto = 'Digite um numero inteiro no campo "Tamanho da senha" '
            msg = gtk.MessageDialog(None, 0, gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, texto)
            msg.set_position(gtk.WIN_POS_CENTER)
            msg.run()
            msg.destroy()
        else:
            chars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
            senha = ""
            for char in xrange(tamanho):
                senha += choice(chars)
            self.txtSenha.props.text = senha
    ##########

    ##########
    def main(self):
        gtk.main()
    def deleteEvento(self, widget, event):
        return False
    def sair(self, widget):
        gtk.main_quit()
    ##########

if __name__ == "__main__":
    senhaForte = senhaForte()
    senhaForte.main()

Para executar este script é muito simples.

no Linux basta salvar em um arquivo .py e executar no terminal com o comanto

$ python arquivo.py

No Windows salve o arquivo como .pyw e execute com um duplo click, mas é nescessário ter o Python o GTK e o PyGTK instalados na maquina

A pedido do Rodrigo Araujo coloquei uma screenshot