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

Upload: ulfah

Post on 19-Mar-2016

34 views

Category:

Documents


0 download

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

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.