Skip to content

Instantly share code, notes, and snippets.

@raphapassini
Created October 22, 2015 13:43
Show Gist options
  • Save raphapassini/2a641b086f637aa7314c to your computer and use it in GitHub Desktop.
Save raphapassini/2a641b086f637aa7314c to your computer and use it in GitHub Desktop.
# -*- coding:UTF-8 -*-
from collections import namedtuple
import csv
def devolve_livro(codigo):
"""Remove um livro do arquivo csv. Retorna uma lista
dos livros que ainda estão emprestados.
Args:
codigo (str): Codigo do livro para remover removido
"""
with open('livros.txt', 'r') as fp:
# lê os dados do arquivo
# https://docs.python.org/2/library/csv.html
data = csv.reader(fp, delimiter=';')
livros_emprestados = []
# para cada linha dentro do arquivo
for line in data:
# encontramos o livro que deve ser devolvido
if line[2] == codigo:
continue
livros_emprestados.append(line)
return livros_emprestados
def grava_livros(livros):
"""Grava os livros que estão emprestados
Args:
livros (list): Uma lista de listas contendo os livros
emprestados
"""
with open('livros.txt', 'w') as fp:
csv_writer = csv.writer(fp, delimiter=';')
csv_writer.writerows(livros_emprestados)
if __name__ == '__main__':
codigo = raw_input('Por favor digite o código do livro: ')
livros_emprestados = devolve_livro(codigo)
grava_livros(livros_emprestados)
@raphapassini
Copy link
Author

Meu arquivo livros.txt:

Joao;Harry Potter e a Ordem da Fênix;123456
Joao;Harry Potter e o Cálice de Fogo;188887
Joao;Senhor do Anéis: As duas torres;178178
Joao;Mastering Python Design Patterns;1418015
Joao;Senhor dos Ánéis: O retorno do Rei;178718

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment