Linha 128: Linha 128:


* 1. Método readlines
* 1. Método readlines
** O arquivo "tarefas.txt" será lido pelo método '''read()'''
** O arquivo "tarefas.txt" será lido pelo método '''readlines()'''
 
readarq = open("/home/lclaudio/minhaequipe.doc","r")
print(readarq)
type(readarq)
 
# Lendo e imprimindo todo o arquivo
texto = readarq.readlines()
print(texto)
readarq.close()
<br>
 
* Resultado: Uma lista com todos os itens
['Alez Vaz Mendes\n', 'Lucas Guandalini Marchesoni\n', 'Luiz Cláudio Theodoro\n', 'Murilo Borges Gomes Machado\n', 'Pedro Aparecido Damaso de Melo\n', 'Rafael Leonardo Aquino\n', 'Rogério  de Freitas\n']
<br>


  readarq = open("/home/lclaudio/minhaequipe.doc","r")
  readarq = open("/home/lclaudio/minhaequipe.doc","r")
  print(readarq)
  print(readarq)
  type(readarq)
  type(readarq)
   
 
  texto = readarq.readlines()
  # Lendo todo o arquivo e imprimindo item a item
  print(texto)
  texto = readarq.readlines()  
  for i in range(0,len(texto)):
    print(texto[i])
  readarq.close()
  readarq.close()
<br>


* Resultado: Uma lista com todos os itens
 
['Alez Vaz Mendes\n', 'Lucas Guandalini Marchesoni\n', 'Luiz Cláudio Theodoro\n', 'Murilo Borges Gomes Machado\n', 'Pedro Aparecido Damaso de Melo\n', 'Rafael Leonardo Aquino\n', 'Rogério  de Freitas\n']
<br>


* Ações:
* Ações:

Edição das 23h09min de 26 de maio de 2016

Manipulação de arquivos


  • Para criar arquivos em Python, inicialmente precisamos abrir um arquivo existente ou um novo
  • Para isso, utilizamos a função open


  • Para trabalhar com arquivos em Python, é necessário primeiro "abrir" o arquivo
  • Depois "ler" ou "escrever" neste arquivo
  • Finalmente "fechá-lo"


Abrindo arquivos


  • Função open:
    • Cria novos arquivos
    • Abrie arquivos existentes, como leitura ou escrita


  • Sintaxe:
    • variável = open("file", "modo")
      • variável = Nome da variável que vai receber o conteúdo da função open
      • file = Nome do arquivo que se quer ler ou escrever.
      • modo = Indica o que se quer fazer com o arquivo [ "r" (read), "w" (write)]


  • Exemplo na prática:
var_file = open("arquivo.txt","w")
print(var_file)
open file 'arquivo.txt', mode 'w' at 0x7f775c2ec6f0>
type(var_file)
<type 'file'>
  • Pode-se verificar mais um tipo de dado além de int, float, string, lists e dictionaries, o tipo file.


  • Ação:
    • O arquivo.txt foi criado no modo escrita
    • É exibido o endereço do arquivo que se encontra em memória RAM (opcional)
    • O tipo da variável "var_file" com a função type() é verificado (opcional).


  • Obs:
    • Se o arquivo "arquivo.txt" já existisse, ele seria aberto como modo escrita
    • Como no exemplo ele não existia, então foi criado como um novo arquivo


  • Como Python é uma linguagem orientada a objetos, agora a variável "var_file" é um objeto, e podemos acessar os métodos desse objeto que são os seguintes:
    • write(data)
      • Escreve a string data para o arquivo, na posição atual ou ao final do arquivo, dependendo do modo de abertura
      • Esta função falha se o arquivo foi aberto com modo "r".
    • close()
      • Fecha o arquivo. Sempre utilizado no final da manipulação do arquivo
    • read()
      • Retorna uma string única com todo o conteúdo do arquivo
    • readline()
      • Retorna a próxima linha do arquivo, e incrementa a posição atual
    • readlines()
      • Retorna todo o conteúdo do arquivo em uma lista, uma linha do arquivo por elemento da lista
    • seek(n)
      • Muda a posição atual do arquivo para o valor indicado em n


Gravando linhas no arquivo


  • Exemplo de como escrever uma frase em um arquivo utilizando método write():
newfile = open("/home/lclaudio/arquivo1.txt","w")

newfile.write("casa")
newfile.write("bola")
newfile.write("dado")
newfile.write("faca")
newfile.write("gato")
newfile.close()


  • Após ter escrito no arquivo através do método write(), é necessário fechar o arquivo como o método close()
  • Exemplo:
newfile.close() 


  • Abra o arquivo gerado e verifique o conteúdo:
    • Linux: comando cat nomearquivo
    • Windows: abra com Bloco de Notas
  • Pode-se ver:
    • casaboladadofacagato



  • Agora, executando a seguinte sequência:
    • casa
    • bola
    • dado
    • faca
    • gato


  • O \n serve para definir a quebra de linha
  • Dessa forma, dados podem ser gravados num arquivo e poderão ser armazenados após comando close


Exercícios


  • Crie os arquivos abaixo com os conteúdos sugeridos e verifique se a gravação ocorreu como desejado:
  1. Arquivo minhaequipe.doc com os nomes dos integrantes
  2. Arquivo tarefas.txt com 10 atividades do dia
  3. Arquivo compras com 15 itens de compra
  4. Arquivo library.csv com o nomes de pelo menos 8 livros que leu este ano
  5. Arquivo gentileza com 30 nomes de pessoas que agradou nos últimos tempos


Lendo um arquivo


  • Agora que dados foram criados e gravados, vamos ler um arquivo.
  • Modos para ler arquivos:
    • readlines()
    • readlines()
    • read()


  • 1. Método readlines
    • O arquivo "tarefas.txt" será lido pelo método readlines()

readarq = open("/home/lclaudio/minhaequipe.doc","r") print(readarq) type(readarq)

  1. Lendo e imprimindo todo o arquivo

texto = readarq.readlines() print(texto) readarq.close()

  • Resultado: Uma lista com todos os itens
['Alez Vaz Mendes\n', 'Lucas Guandalini Marchesoni\n', 'Luiz Cláudio Theodoro\n', 'Murilo Borges Gomes Machado\n', 'Pedro Aparecido Damaso de Melo\n', 'Rafael Leonardo Aquino\n', 'Rogério   de Freitas\n']


readarq = open("/home/lclaudio/minhaequipe.doc","r")
print(readarq)
type(readarq)
# Lendo todo o arquivo e imprimindo item a item
texto = readarq.readlines() 
for i in range(0,len(texto)):
   print(texto[i])
readarq.close()


  • Ações:
    • O arquivo info.txt como aberto em modo leitura
    • O endereço do arquivo que se encontra na memória RAM foi exibido (opcional)
    • O tipo da variável "minhaequipe.doc" foi verificado por meio da função type() (opcional)



  • Exibindo o conteúdo do info.txt no Python.
  • No interpretador do Python, digitando os seguintes comandos:
readarq = open("/home/lclaudio/minhaequipe.doc","r")
print(readarq)
type(readarq)

texto = readarq.readline()
print(texto)
readarq.close()


  • Repare que foi impressa apenas a primeira linha


  • Outra execução:
readarq = open("/home/lclaudio/minhaequipe.doc","r")
print(readarq)
type(readarq)

texto = readarq.readlines()
print(texto)
readarq.close()


  • Interessante que neste caso, apareceram todas as linhas montadas num vetor e contendo a quebra de linha \n