Escolar Documentos
Profissional Documentos
Cultura Documentos
PI VBN Persist encia Lendo e escrevendo O operador format Nomes de cheiros e caminhos Excep co es
Persist encia
PI VBN
Os programas que vimos at e agora n ao s ao persistentes, isto e, executam durante algum tempo, recebem input, produzem output mas quando terminam o sua informa c ao desaparece. Existem outro tipo de de programas denominados de persistentes:
executam durante bastante tempo(ou para sempre) guardam alguma da sua informa c ao em algum armazenamento permanente se zermos restart, os programas retomam aonde tinham cado
Persist encia Lendo e escrevendo O operador format Nomes de cheiros e caminhos Excep co es
Lendo e escrevendo Para escrever para um cheiro podemos abri-lo em modo de escrita: >>> fout = open(output.txt, w) >>> print(fout) <open file output.txt, mode w at 0xb7eb2410> Se o cheiro n ao existir, e criado Sen ao, apaga o conte udo do cheiro e come ca com o cheiro vazio Para colocar informa c ao nos cheiros, temos o m etodo write: >>> line1 = "This heres the wattle,\n" >>> fout.write(line1) O objectocheiro regista o local onde est a, pelo que escrevermos novamente, adiciona a nova informa c ao a seguir. Quando terminarmos a escrita, devemos fechar o cheiro fout.close()
PI VBN Persist encia Lendo e escrevendo O operador format Nomes de cheiros e caminhos Excep co es
1.3
O operador format
PI VBN Persist encia Lendo e escrevendo
Como o argumento de write tem de ser uma string, antes de escrevermos alguma coisa temos de converter para string, como por exemplo: >>> x = 52 >>> f.write(str(x)) Em alternativa podemos utilizar o operador format % 1 . O primeiro operando e a format string(especica como o 2o operando deve ser formatado)
1 Este
1.4
1.5
Podemos inquirir qual a directoria actual: >>> import os >>> cwd = os.getcwd() >>> print(cwd) /home/vbn Qual o caminho absoluto de um cheiro >>> os.path.abspath(memo.txt) /home/vbn/memo.txt Se o cheiro/directoria existe >>> os.path.exists(memo.txt) True Se e uma directoria e se e um cheiro:
Persist encia Lendo e escrevendo O operador format Nomes de cheiros e caminhos Excep co es
1.6
>>> os.path.isdir(memo.txt) False >>> os.path.file(memo.txt) True Qual o conte udo de uma directoria: >>> os.listdir(cwd) [Music, Pictures, Documents, memo.txt]
1.7
Exemplo
PI VBN Persist encia Lendo e escrevendo O operador format Nomes de cheiros e caminhos
Excep co es
1.8
Ao lidar com cheiros muitas coisas podem falhar: Podemos tentar abrir um cheiro que n ao existe
>>> fin = open(bad_file) IOError: [Errno 2] No such file or directory: bad_file Podemos n ao ter permiss oes para abrir o cheiro >>> fout = open(/etc/passwd, w) IOError: [Errno 13] Permission denied: /etc/passwd Podemos tentar abrir uma directoria para leitura >>> fin = open(/home) IOError: [Errno 21] Is a directory
1.9
Podemos tentar evitar que as excep c oes ocorram Tamb em podemos capturaras excep c oes: try :
f = open ( m y f i l e . t x t ) s = f . readline () i = int ( s . strip ()) except I O E r r o r : p r i n t ( I /O e r r o r ) except V a l u e E r r o r : p r i n t ( Could n o t c o n v e r t d a t a t o an i n t e g e r . ) except : p r i n t ( Unexpected e r r o r : , s y s . e x c i n f o ( ) [ 0 ] ) raise
1.10