Manipulação de Arquivos:
Principal método: open():
Retorna um objeto da classe file, que permite fazer leitura e escrita em arquivos. Por padrão, o arquivo é aberto somente para leitura.
f = open('arq.txt')
print (f)
# <_io.TextIOWrapper name='arq.txt' mode='r' encoding='cp1252'>
--------------------------------------------------------------------
Conhecendo os métodos disponíveis para o objeto da classe file:
dir(f) # Resultado: imprime na tela: ['_CHUNK_SIZE', '__class__', '__del__', '__delattr__', '__dict__', '__dir__', '__doc__', '__enter__', '__eq__', '__exit__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__lt__', '__ne__', '__new__', '__next__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '_checkClosed', '_checkReadable', '_checkSeekable', '_checkWritable', '_finalizing', 'buffer', 'close', 'closed', 'detach', 'encoding', 'errors', 'fileno', 'flush', 'isatty', 'line_buffering', 'mode', 'name', 'newlines', 'read', 'readable', 'readline', 'readlines', 'seek', 'seekable', 'tell', 'truncate', 'writable', 'write', 'writelines']
--------------------------------------------------------------------
Sintaxe básica:
objeto = open(filename,mode), onde:
filename: nome do arquivo a ser manipulado.
mode: modo como o arquivo será aberto, opções:
r: leitura (valor padrão, assumido se omitido)
w: escrita
a: escrita + append
r+: leitura e escrita
b: binário
Se o nome do arquivo informado não existir, se o modo for o 'w' ou 'a', o arquivo será criado.
-------------------------------------------------------------------- Principais métodos da classe file:
open(): abre arquivo
read(): lê todo o conteúdo do arquivo e retorna como string
readline(): lê uma linha
readlines(): lê todas as linhas
seek(): posiciona o cursor de leitura
write(): escreve texto.
tell(): retorna a posição corrente do cursor
name: retorna o nome do arquivo aberto
mode: retorna o modo do arquivo aberto
closed: verifica se o arquivo está fechado
close(): fecha o arquivo aberto
-------------------------------------------------------------------- Exemplo de read():
Lendo 10 bytes de um arquivo e imprimindo na tela:
f=open('arq.txt')
print('>>%s<<' % f.read(10)) # marco anto
f.close()
-------------------------------------------------------------------- Exemplo de seek():
f=open('arq.txt')
# f.read() # alcança o final do arquivo
f.seek(1) # posiciona o cursor no byte 1 do arquivo
print(f.read(2)) # ler 2 bytes a partir da posição atual
f.close()
-------------------------------------------------------------------- Exemplo de readline():
f=open('arq.txt')
print(f.readline()) # lê a próxima linha do arquivo
print(f.readline()) # lê a próxima linha do arquivo
f.close()
--------------------------------------------------------------------
Exemplo de readlines(), name, mode e closed:
f = open('arq.txt','r')
for linha in f.readlines():
linha_arq = linha.strip('\n')
print(linha_arq)
print(f.name) # retorna o nome do arquivo
print(f.mode) # retorna o modo do arquivo
print(f.closed) # verifica se arquivo está fechado
f.close()
-------------------------------------------------------------------- Exemplo de write():
f = open('arq.txt', 'r+')
f.seek(0, 2) # avança para o final do arquivo
f.write('texto da nova linha\n') # conteúdo a ser gravado no arquivo
f.seek(0) # posiciona o cursor no inicio do arquivo
print (f.read()) # lendo todo o arquivo a partir do início
f.close()
-------------------------------------------------------------------- Exemplo de tell():
f=open('arq.txt')
f.seek(0, 2);
end = f.tell()
f.seek(0);
pos = f.tell()
line = 1
while pos != end:
print ('Linha %d - posição %d' % (line, pos))
line += 1
l = f.readline()
pos = f.tell()
f.close()
# Linha 1 - posição 0
# Linha 2 - posição 15
# Linha 3 - posição 23
# Linha 4 - posição 44
--------------------------------------------------------------------
Nenhum comentário:
Postar um comentário