Opinião - Python - Fórum Script Brasil
Asked by O Andarilho
O Andarilho 0
Estou iniciando meu aprendizado em Python, e gostaria da opinião de quem já programa sobre uma situação clássica:
Digamos que fosse ser desenvolvido um programinha desses de locadora de filmes.
Supondo que houvesse uma espécie de tabela, para catalogar os títulos, mas que isso ficasse numa base de dados persistente (um arquivo).
Qual seria o melhor tipo de dados para essa situação?
- cada filme, poderia ser registrado como uma lista, ou tupla, com vários campos (código, título, gênero, quantidade de cópias). Mas como juntar tudso isso num único lugar, numa única tabela?
Creio que esta tabela, vamos dar o nome de CATALOGO, não poderia ser, por exemplo um dicionário, pois os filmes não constituem um par chave-valor, certo?
Para melhor indexar os filmes, este CATALOGO poderia até ser uma lista de listas, certo? Mas como armazenar esta lista de listas num arquivo, por exemplo?
Gostaria de opiniões, se possível em código também..
Você está usando a locadora apenas como exemplo ou é um caso real? Porque eu acho que fazer a persistência de uma locadora em um arquivo não é uma boa. Melhor seria pensar em um projeto de base de dados SQL.
Dê uma olhada no meu artigo sobre serialização: http://www.onmasters.com.br/artigo/63/
Sendo que concordo com o Kakao quando ele diz que seria melhor usar uma base de dados SQL.
Guest --Luis --
O link correto é: http://www.onmasters.com.br/artigo/63/
Valeu, Luis. Já corrigi o link.
Vamos supor que esteja fazendo um sistema que o camarada preenche o input e cadastra numa variavel do "banco". Se esse banco for um arquivo de texto, o modulo Pickle pode importar essas variaveis para o arquivo principal?
Você tem que regravar o arquivo inteiro com todos os dados novamente. Esse é o problema de se usar o módulo pickle como um banco de dados.
Mas ainda não tenho nenhum dado no arquivo. Outra:
Se eu gravar no banco o valor de 3 variaveis, pelo modulo pickle consigo ler os 3 dados aleatoriamente, "printar" na tela, e dar um break apos isso?
Sim, coloque-os em uma lista e grave a lista usando o pickle. Ao pegar a lista do arquivo (usando o pickle) você pode gerar valores aleatórios (de 0 a 2 - dê uma olhada no módulo random) para pegar os elementos correspondentes da lista.