associação pythonbrasil[11] django zope/plone planet Início Logado como (Entrar)

Diferenças para "Pickle"

Diferenças entre as versões de 1 e 5 (4 versões de distância)
Revisão 1e 2005-12-31 20:15:46
Tamanho: 3041
Editor: murtog
Comentário: primeira_versão
Revisão 5e 2008-09-26 14:06:43
Tamanho: 3359
Editor: localhost
Comentário: converted to 1.6 markup
Deleções são marcadas assim. Adições são marcadas assim.
Linha 1: Linha 1:
#pragma section-numbers off
Linha 11: Linha 10:
import cPickle, shelve
def write_file():                            
    CIT = ["Academic Computer Skills", "Database Management", "Intro to Computer scince", "ACCESS", \
          
"Systems Analysis and Design", "Visual Basic", "Intermediate Visual Basic", "Decision Support Using Excel"]
import cPickle


def write_file():
    """
    Funcao que escreve num arquivo um dicionario.
    Isto eh, escreve um arquivo binario de um objeto
    Python usando o Pickle
    """

    CIT = ["Academic Computer Skills", "Database Management", "Intro to Computer scince",\
       
"ACCESS","Systems Analysis and Design", "Visual Basic",\
       
"Intermediate Visual Basic", "Decision Support Using Excel"]
Linha 22: Linha 29:
Linha 24: Linha 30:
    """
    Le o dicionario do arquivo.
    """
Linha 33: Linha 42:
    """
    Deleta uma entrada do dicionario
    Tambem atualiza no arquivo.
    """
Linha 47: Linha 60:
Linha 48: Linha 62:
    """
    Adiciona um registro ao dicionario.
    Tambem atualiza o arquivo
    """
Linha 59: Linha 77:
  
Linha 74: Linha 92:
  
Linha 98: Linha 117:
      
Linha 109: Linha 127:
            print "\nSorry, but", choice, "isn! 't a valid choice."             print "\nSorry, but %s isn! 't a valid choice."%(choice)

Receita: Exemplo de uso do Pickle

Código de exemplo sobre o uso do Pickle. É um mini gerenciador para grade curricular. Ele usa o cPickle, por questão de desempenho, mas nada que impeça de usá-lo com o Pickle normal.

Código

   1 import cPickle
   2 
   3 
   4 def write_file():       
   5     """
   6     Funcao que escreve num arquivo um dicionario.
   7     Isto eh, escreve um arquivo binario de um objeto
   8     Python usando o Pickle
   9     """
  10     CIT = ["Academic Computer Skills", "Database Management", "Intro to Computer scince",\
  11         "ACCESS","Systems Analysis and Design", "Visual Basic",\
  12         "Intermediate Visual Basic", "Decision Support Using Excel"]
  13     pickle_file = open("pickles1.dat","w")
  14 
  15     cPickle.dump(CIT, pickle_file)
  16     print "A file has been created and the required specifications have been added"
  17     pickle_file.close()
  18 
  19 
  20 def read_file():
  21     """
  22     Le o dicionario do arquivo.
  23     """
  24     pickle_file = open("pickles1.dat","r")
  25     CIT = cPickle.load(pickle_file)
  26     pickle_file.close()
  27    
  28     for course in CIT:
  29         print CIT.index(course), "-", course
  30 
  31 
  32 def delete_file():
  33     """
  34     Deleta uma entrada do dicionario
  35     Tambem atualiza no arquivo.
  36     """
  37     word_delete = int(raw_input("Which record do u want to delete?[key of the record]: "))
  38    
  39     pickle_file = open("pickles1.dat", "r")
  40     CIT = cPickle.load(pickle_file)
  41     pickle_file.close()
  42    
  43     try:
  44         CIT.pop(word_delete)
  45         pickle_file = open("pickles1.dat","w")
  46         cPickle.dump(CIT, pickle_file)
  47         pickle_file.close()
  48     except:
  49         print "There isnt a record with this key"
  50 
  51 
  52 def add_record():
  53     """
  54     Adiciona um registro ao dicionario.
  55     Tambem atualiza o arquivo
  56     """
  57     pickle_file = open("pickles1.dat", "r")
  58     CIT = cPickle.load(pickle_file)
  59     CIT.append("SQL Programming")
  60     CIT.append("Database Programming")
  61     pickle_file.close()
  62    
  63     pickle_file = open("pickles1.dat","w")
  64     cPickle.dump(CIT, pickle_file)
  65     print "New data was added to the file"
  66     pickle_file.close()
  67 
  68 
  69 def display_instructions():
  70     """Display the Main menue"""
  71     print \
  72           """
  73         Main Menu:
  74         
  75           1. Exit
  76           2. Create a new file and add specifications
  77           3. Add more courses to the file
  78           4. Read the file
  79           5. Delete a course
  80           6. Display instructions
  81 
  82           """
  83 
  84 
  85 # exit the program                               >>> 1 <<<
  86 def over_program():
  87     """Exit the program"""
  88     print "Good Bye!"
  89 
  90   
  91 def main():
  92     choice = None
  93     display_instructions()
  94   
  95   
  96     while choice != 1:
  97         choice = raw_input("\nChoice: ")
  98         if choice == "1":
  99             over_program()
 100             break
 101   
 102         elif choice == "2":
 103             write_file()
 104 
 105         elif choice == "3":
 106             add_record()
 107           
 108         elif choice == "4":
 109             read_file()
 110 
 111         elif choice == "5":
 112             delete_file()
 113        
 114         elif choice == "6":
 115             display_instructions()
 116 
 117         else:
 118             print "\nSorry, but %s isn! 't a valid choice."%(choice)
 119 
 120 
 121 main()
 122 raw_input("Press Enter Key to Exit.")    

Volta para CookBook.


Murtog


CategoryTemplate