[pyar] Archivos en python

Javier Marín nano.world.contact en gmail.com
Vie Jul 20 17:40:59 ART 2012


Buenas, tengo algunas dudas. Llevo un rato leyendo sobre archivos y decidí
dejar de leer tanto y darle un tanto mejor al código. Hice un programita de
práctica y quiero hacer que imprima por pantalla lo que se le manda a
imprimir (que ya lo hace) y que eso mismo lo guarde en un simple archivo
txt. Les dejo el código (que hasta ahora no me ha tirado errores) que por
alguna razón corre, pero no guarda nada en el archivo...

#!/usr/bin/env python
> #-*- coding:utf-8 -*-
> from random import randint, choice
> """
>     Se totalizaran 100 llamadas
>     Costo de llamadas: movilnet 0,38. Movistar 0.55. Digitel 0.45.
>     El operador de llamada es aleatorio y el tiempo de la llamada.
>     El tiempo de la llamada oscilará entre 3 y 20 minutos.
>     Para cada llamada se debe mostrar el tiempo, la operadora y el costo.
>     Se debe mostrar el recaudo total por todas las llamadas.
> """
> class llamadas:
>     def __init__(self, time, oprs):
>         self.time = time
>         self.oprs = oprs
>
>     def registrar_llamadas(self):
>         txt = open("llamadas.txt", 'w')
>         for i in xrange(100):
>             oprs1 = self.oprs.keys()
>             oprs2 = self.oprs.values()
>             op_azar = choice(oprs1)
>             if op_azar == 'Movilnet':
>                 cant_min = self.time * oprs2[0]
>                 t.write ('Operadora \t Costo/min \n Tiempo \t Total \n
> Movilnet \t 0.38 \t %d \t %1.2f' % (self.time, cant_min))
>                 print 'Operadora \t Costo/min \n Tiempo \t Total \n
> Movilnet \t 0.38 \t %d \t %1.2f' % (self.time, cant_min)
>             elif op_azar == 'Movistar':
>                 cant_min = self.time * oprs2[2]
>                 txt.write ('Operadora \t Costo/min \n Tiempo \t Total \n
> Movistar \t 0.38 \t %d \t %1.2f' % (self.time, cant_min))
>                 print 'Operadora \t Costo/min \n Tiempo \t Total \n
> Movistar \t 0.50 \t %d \t %1.2f' % (self.time, cant_min)
>             else:
>                 cant_min = self.time * oprs2[1]
>                 txt.write ('Operadora \t Costo/min \n Tiempo \t Total \n
> Digitel \t 0.38 \t %d \t %1.2f' % (self.time, cant_min))
>                 print 'Operadora \t Costo/min \n Tiempo \t Total \n
> Digitel \t 0.45 \t %d \t %1.2f' % (self.time, cant_min)
>         txt = close("llamadas.txt")
>
> operadoras = {'Movilnet' : 0.38, 'Movistar' : 0.50, 'Digitel' : 0.45}
> tiempo = randint(3, 21)
> llamada = llamadas(tiempo ,operadoras)



Detallando un poco. Cuando lo corro sin los txt, imprime por pantalla todo
sin chistar, pero cuando lo pongo con los txt no me reporta nada, ningún
problema, la cuestión va en que debería crear el archivo txt en el fichero
donde se encuentra y reescribirlo; no lo hace. Lo hice a mano, pero tampoco
lo reescribe. ¿Alguien me ilustra un poco más? Mucha teoría, sí, pero nada
de práctica xD
-- 
Nano.
@_nanodice_
Blog: nano-dice <http://nano-dice.blogspot.com>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20120720/805abb0e/attachment.html>


More information about the pyar mailing list