Hola a todos!
De nuevo con molestias.
Una pregunta, quizás demasiado básica, lo se, pero no soy programadora y me
cuesta mucho trabajo entender estas cosas. En fin, les platico.
Tengo una serie de datos en columna como la siguiente:
1 M 0.84765 0.90205 0.26366
2 V 0.57929 0.77705 0.25279
3 S 0.407
Si el fichero no es muy grande, puedes leerlo todo con readlines
oldata=oldfile.readlines()
newdata=[line+' 1000.0' if len(line)<=27 else line for line in oldata]
Y lo escribes a tu nuevo archivo.
Ojo, estoy haciendo uso del operador ternario, si usas una versión de
Python anterior a la 2.5 tendr
Añado: si la longitud de las columnas puede variar, ejemplo:
1 M 0.8 0.905 0.6366
2 V 0.57929 0.77 0.2279
3 S 0.40724 0.77592 0.16738
4 K 0.7477 0.5880 0.09151 7.11
5 L 0.319 0.691 0.13393 7.42
6 S 0.3374 0.5296 0.13246 7.60
en vez de comprobar la longitud de la línea deberías contar el número
de
Hola Darrid:
La longitud de las columnas afortunadamente no cambia, siempre es la misma.
Intente lo primero que pusiste (newdata=[line+' 1000.0' if len(line)<=27
else line for line in oldata]), sin embargo, no se añade el número 1000.0.
Qué hago?
2011/8/25 Daπid
> Añado: si la longitud de las c
El 25 de agosto de 2011 21:47, alito Z escribió:
> Hola Darrid:
> La longitud de las columnas afortunadamente no cambia, siempre es la misma.
> Intente lo primero que pusiste (newdata=[line+' 1000.0' if len(line)<=27
> else line for line in oldata]), sin embargo, no se añade el número 1000.0.
> Q
Hola Kiko:
O.K. El problema es que ahora me sale el siguiente error: TypeError:
expected a character buffer object.
Alguién me puede explicar qué significa y qué puedo hacer para remediarlo?
Saludos!
2011/8/25 Kiko
>
>
> El 25 de agosto de 2011 21:47, alito Z escribió:
>
> Hola Darrid:
>> La lo
Lo que pasa es que estás intentando escribir la lista con write, y eso
Python no sabe. Para escribir una lista tienes que usar writelines, o
hacerlo a mano (write a cada línea).
Antes se me pasó un detalle por alto, y son los saltos de línea.
Readlines te va a devolver cada línea acabada en un sal
Perfecto, queda genial.
Muchas gracias por la ayuda :D
Saludos!
2011/8/25 Daπid
> Lo que pasa es que estás intentando escribir la lista con write, y eso
> Python no sabe. Para escribir una lista tienes que usar writelines, o
> hacerlo a mano (write a cada línea).
>
> Antes se me pasó un detalle
De nada. Pero lo más importante: ¿lo has entendido?
2011/8/25 alito Z :
> Perfecto, queda genial.
> Muchas gracias por la ayuda :D
> Saludos!
>
> 2011/8/25 Daπid
>>
>> Lo que pasa es que estás intentando escribir la lista con write, y eso
>> Python no sabe. Para escribir una lista tienes que usar
Si, creo que es algo así.
Como dijiste, yo estaba intentando escribir el archivo con write el cual no
es el indicado para guardar cadenas o listado de cadenas en un archivo, y en
este caso se utiliza writelines.
Eso por el lado de como debí haberlo guardado desde el inicio.
Lo otro, es que por lo q
Tengo un script en el que, primero, ejecuto un servidor de sockets en
un hilo, y cada conexión que reciba, genera su propio hilo.
El problema viene cuando intento salirme del programa mediante una
excepción KeyboardInterrupt controlada, funciona bien si no ha habido
ninguna conexión al socket-servi
Comentar que aunque añada la línea:
self.socketserver.close()
en el método close() de la clase TelnetServer el resultado es el mismo.
El día 26 de agosto de 2011 02:17, Sergio Martín
escribió:
> Tengo un script en el que, primero, ejecuto un servidor de sockets en
> un hilo, y cada conexión q
12 matches
Mail list logo