Programação Avançada Manipulação de arquivos

download Programação Avançada Manipulação de arquivos

If you can't read please download the document

description

Programação Avançada Manipulação de arquivos. Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012. Introdução. Arquivos são usados para fazer operações de entrada e saída Disco, monitor, teclado, impressora Representação de arquivos em Python Classe file. - PowerPoint PPT Presentation

Transcript of Programação Avançada Manipulação de arquivos

Programao Avanada

Programao AvanadaManipulao de arquivosProf. Natalia Castro FernandesMestrado em Telecomunicaes UFF2 semestre/2012IntroduoArquivos so usados para fazer operaes de entrada e sadaDisco, monitor, teclado, impressoraRepresentao de arquivos em PythonClasse fileUsando os arquivosUso:Abrir o arquivoLer ou escreverFechar o arquivo

Abrindo os arquivosopen(arquivo,modo,buffer)Retorna um objeto do tipo fileArgumentosArquivo = nome do arquivo com caminho. Se caminho omitido, busca no diretrio localModo = modo de abertura do arquivo, com padro para leituraOpcionalTiposr =leituraw =escritab =binrioa =escrita a partir do finalr+ =leitura e escritaBuffer =indica se a memria ser usada para acelerar a operaoOpcionalTipos0 = no usa buffer1 ou nmero negativo = buffer padro2 ou nmero > 2 = tamanho do buffer em bytes

Evite usar, pois, usualmente, fonte de erro.Manipulao de arquivosLeituraArquivo.read(num_bytes)L num_bytes de Arquivo e os retorna em uma stringSe num_bytes no especificado, retorna uma string contendo desde o ponto atual at o finalArquivo.readline()L uma linha do arquivoArquivo.readlines()Gera uma lista com todas as linhas do arquivo

Manipulao de arquivosEscritaArquivo.write(texto)Escreve texto no arquivoComando termina mesmo que o contedo ainda esteja em buffer e no tenha ainda sido escrito em discoMtodos flush() e close() asseguram a escrita de todo o contedo do bufferTexto precisa ser do tipo stringSe for escrever outro tipo de dado, converter com o mtodo str()Manipulao de arquivosEscritaArquivo.writelines(lista_de_strings)Escreve as strings da lista no arquivo, concatenando-as.Manipulao de arquivosPosio atual do ponteiro do arquivoArquivo.tell()Posio medida em byteReposicionamento do ponteiroArquivo.seek(offset,a_partir_de)Offset = quanto deve ser movidoValores positivos ou negativoA_partir_de = de qual ponto deve ser marcado o offsetOpcional, tendo por padro o inicio do arquivoValores0 = inicio do arquivo1 = posio atual2 = fim do arquivo

Finalizando o uso do arquivoArquivo.close()Finaliza o uso do arquivoGarante que todas as operaes foram finalizadas para aquele arquivo

ExemplosCriando arquivos

Se o arquivo novo, obrigatrio indicar que uma operao de escrita.Exemplos

Criando arquivos

ExemplosAbrindo arquivos binrios

ExemplosLeitura de arquivos e seek

ExemplosLeitura de arquivos e seek

Arquivo:

12345678910 11 12

ExemplosEscrita

Arquivo original:

12345678910 11 12

ExemplosEscrita

Convenes de fim de linhaA forma de representao do caractere fim de linha muda dependendo do sistema operacionalWindows: \r\nLinux: \nMacOS: \rPython converte automaticamente essas representaes para \n se o arquivo for aberto em modo texto (r,w,a,r+)Essa converso no feita se o arquivo aberto em modo binrio (b)Varrendo um arquivo completoOs mtodos read() e readlines() permitem ler todas as linhasPara fazer um loop linha a linha:for linha in obj_arquivo:print line

Arquivos especiaisComunicao com o monitorComando print escreve no arquivo sys.stdoutComunicao com o tecladoComandos input e raw_input leem do arquivo sys.stdinComunicao de erro e exceesEscrita das mensagens no arquivo sys.stderrExemplos

Equivalente ao print.Equivalente ao raw_input, sem escrever algum texto na tela.Redirecionamento de SadasPrograma > arquivoO contedo que seria escrito em sys.stdout escrito em arquivoEm Linux, no shell bash, essa notao redireciona o sys.stderr para arquivoPrograma < arquivoO contedo de sys.stdin, que seria a entrada, substitudo por arquivoPrograma1 | Programa2A sada de Programa1 redirecionada para Programa2Exemplo

ExercciosEm um script:Crie um arquivoEscreva 10 caracteres aleatrios nesse arquivo e finalize a linhaFeche o arquivoRepita a operao anterior por 1000 vezes, mas as linhas devem ser adicionadas ao arquivo e no sobrescritas.Feche o arquivoAbra o arquivo que voc acabou de criar e conte quantas vezes aparece a vogal a e a combinao de

ExercciosCrie dois arquivos e, em cada um, coloque um texto extrado da Internet com vrias linhas. Em seguida, crie um script que:Mescle o contedo dos dois arquivos em um terceiro arquivoInverta o contedo do 1 arquivo. Ateno: O resultado final no um novo arquivo, mas o primeiro arquivo com o contedo sobrescrito.

ExercciosCrie um arquivo e coloque dentro dele um texto extrado da Internet com vrias linhas. Em seguida:Guarde em uma lista as trs ltimas letras que aparecem antes de cada vogal.