print 1/0 try: print 1/0 except ZeroDivisionError: print 'Erro ao tentar dividir por zero.' import traceback # Tente receber o nome do arquivo try: fn = raw_input('Nome do arquivo: ').strip() # Numerando as linhas for i, s in enumerate(file(fn)): print i + 1, s, # Se ocorrer um erro except: # Mostre na tela trace = traceback.format_exc() # E salve num arquivo print 'Aconteceu um erro:\n', trace file('trace.log', 'a').write(trace) # Encerre o programa raise SystemExit import random # Cria um arquivo com 25 números randômicos with file('temp.txt', 'w') as temp: for y in range(5): for x in range(5): # "print >> " grava a saída do comando no arquivo indicado print >> temp, '%.2f' % random.random(), print >> temp # Exibe o conteúdo do arquivo with file('temp.txt') as temp: for i in temp: print i, # Fora dos blocos, o arquivo está fechado # Isso gera uma exceção ValueError: I/O operation on closed file print >> temp