[Python-es] Duda de principiante

Angel Claudio Alvarez angel en angel-alvarez.com.ar
Mar Nov 20 21:31:32 CET 2012


El Tue, 20 Nov 2012 15:41:28 +0100
Carlos Agulló Calvo <cm.agullo en gmail.com> escribió:

> Hola de nuevo, tengo un par de dudas básicas más (por cierto, si este no es
> el sitio apropiado para mi nivel/poner dudas decidmelo); mi primera duda es
> la siguiente:
> 
> me he creado un programita que es el siguiente:
> def abrirmes():
>     mes=open('ABRIL2005.txt','r')
> 
> def abrirestacion():
>     est_0303201=open('est_0303201.txt','a')
> 
> def leermes():
>     fila=mes.readline()
> 
> def escribirestacion():
>     est_0303201.write(fila)
> 
> def cerrararchivos():
>     mes.close
>     est_0303201.close
> 
> 
> abrirmes()
> abrirestacion()
> leermes()
> escribirestacion()
> cerrararchivos()
> 
> El problema que me da es que me dice que en *leermes *no está definida la
> variable *mes, *pero a la hora de ejecutar, primero llamo a abrirmes y
> luego a leermes, por lo que debería estar disponible, no?
> 

Sinceramente creo que necesitas urgente un curso de programacion y leer mucho

> si me dejo de vainas y lo hago así:
> 
> mes=open('ABRIL2005.txt','r')
> 
> est_0303201=open('est_0303201.txt','a')
> 
> fila=mes.readline()
> 
> est_0303201.write(fila)
> 
> mes.close
> est_0303201.close
> 
> No me da ningún problema.
> 
> Ni otra duda es que las lineas del archivo ABRIL2005.txt tienen la
> siguiente forma:
> 
> "0303201";1/4/2005
> 0:01:00;2;0;0;0;0;143;-127;-127;2;0;0;0;-127;2;-127;-127;-127;-127;0
> "0303202";1/4/2005
> 0:01:00;2;0;0;0;0;0;-127;-127;0;0;0;0;-127;0;-127;-127;-127;-127;0
> ...
> y quiero que si el primer código es 0303201 me escriba la línea en el
> archivo est_0303201 y si no, pues que pase de línea;
> lo he intentado de la siguiente manera:
> 
> infile=mes.readline()
> for line in infile:
>     if line[1:8]==0303201:
>         archivo_0303201.write(line)
> 
> y me da error al leer line[1:8]
> 
> cómo podría arreglarlo?
> 
> mil gracias por adelantado
> 
> 
> 
> El 19 de noviembre de 2012 11:38, Carlos Agulló Calvo
> <cm.agullo en gmail.com>escribió:
> 
> > muchas gracias.
> > Efectivamente, como dice mi tocayo, no me ha creado el archivo por que he
> > definido* abrirtxt* pero no lo he invocado.
> >
> > (creo)
> >
> > El 19 de noviembre de 2012 11:23, Kiko <kikocorreoso en gmail.com> escribió:
> >
> >>
> >>
> >> El 19 de noviembre de 2012 11:09, Carlos Agulló Calvo <
> >> cm.agullo en gmail.com> escribió:
> >>
> >> Me he creado el siguiente programita:
> >>>
> >>> def abrirtxt():
> >>>     archi=open('est_0303201','w')
> >>>     archi.close()
> >>>
> >>>  Y creoque me debería haber creado un archivo txt llamado *est_0303201,
> >>> *pero no se donde me ha creado el archivo.
> >>>
> >>>
> >> Te lo debería haber creado en la misma ruta desde donde corras tu script.
> >> http://docs.python.org/3/library/functions.html?highlight=open#open
> >>
> >> *file is either a string or bytes object giving the pathname (absolute
> >> or relative to the current working directory) of the file to be opened
> >> or an integer file descriptor of the file to be wrapped.*
> >>
> >> _______________________________________________
> >> Python-es mailing list
> >> Python-es en python.org
> >> http://mail.python.org/mailman/listinfo/python-es
> >> FAQ: http://python-es-faq.wikidot.com/
> >>
> >>
> >


-- 
Angel Claudio Alvarez <angel en angel-alvarez.com.ar>


Más información sobre la lista de distribución Python-es