Ir ao conteúdo
  • Cadastre-se

Python Armazenamento de dados em Python


Posts recomendados

Olá, junto com meus amigos eu queria criar um programa em Python que registrasse as pessoas que pegassem os livros da biblioteca, simplesmente alguém pegava o livro e um responsável digitava o nome da pessoa e o livro que ela pegou, o programa automáticamente gravava os dados, o problema é que ao fechar o programa as variáveis resetam, como eu faço para armazenar esse dados, que quando fechar o programa, na próxima vez que executa-lo, os dados irão voltar!

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
6 horas atrás, Kauan Maia da Silva disse:

[...] o problema é que ao fechar o programa as variáveis resetam, como eu faço para armazenar esse dados, que quando fechar o programa, na próxima vez que executa-lo, os dados irão voltar!

 

Além do possível uso do Banco de Dados (DB), poderia utilizar "arquivos de textos" ou "arquivos binários"

 

Obs.: banco de dados utiliza conceitos mais avançados e configurações extras. Sugiro trabalhar com arquivos mesmo... a depender da evolução do programa (e sua também), se julgar necessário, migraria para bancos.

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

Eu também recomendo usar arquivos de texto!

como exemplo veja esse código de um programa simples de tirar pedido:

if veNd == 1:
  cram = open('VENDEDORES/ANA.txt', 'r')
  l1 = cram.readline()
  l2 = cram.readline()
  cram.close()
  somaV = float(l2) + float(nValor)
  somaV = str(somaV)
  cram = open('VENDEDORES/ANA.txt', 'w')
  cram.write(l1)
  cram.write(somaV)
  cram.close()
  vendedor = 'Ana Paula'

primeiro o programa imprime na tela uma lista de vendedores, o usuário digita o numero correspondente ao vendedor que esta vendendo ai eu fiz uma serie de if para analisar qual deles foi escolhido 

Depois de saber qual foi ele executa o bloco do if escolhido

para abrir o arquivo usa-se o open() como fiz ali em cima:

cram = open('VENDEDORES/ANA.txt', 'r')

Dentro dos parenteses se informa qual o diretório e qual o método em que vai ser aberto 

Os métodos são os seguintes:

 

r = abre o arquivo somente para leitura ou seja só para ler o que esta escrito

EX:

teste = open("DIRETORIO", "r")

arquivo lido = teste.readline()

teste e a variável para controlar o arquivo de texto

READLINE lê uma linha já o READ lê o texto todo e armazena numa variável

 

w = abre o arquivo para gravação, somente para gravação e se o arquivo não existir ele o cria

Bem temos alguns problemas a usar o w, ele ignora o que esta escrito no arquivo, por exemplo eu tenho um arquivo que tem um texto escrito se eu abrir o arquivo com o método w ele vai deletar o que esta escrito e escrever o que eu mandar

EX:

teste = open("DIRETORIO", "w")

texto = 'OLA MUNDO'

teste.write(texto)

Aqui ja podemos ver uma coisa diferente do r, para escrever não é necessário armazenar numa variável

Outra coisa ao usar o w você tem que ter alguns cuidados para não dar erro como nao usar , dentro dos parenteses

Não usar o format dentro dos parenteses porque o format é para o print()

Para escrever variáveis com texto use o + 

Para pular uma linha use o \n

se eu esqueci algo pode perguntar

 

w+ ele abre pra leitura e escrita

 

a = usar para anexar dados no final do arquivo

Meio que ele deixa o cursor no final do arquivo

 

e o r+ que é a junção do r com o w só que só funciona nas mais novas versões do python

 

  • Curtir 1
  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...