2010-11-26 12 views
9

Tengo una pregunta bastante básica. Estoy usando Python para calcular un vector n × 12Escribir líneas de más de 80 caracteres en el archivo de salida [Python]

y = numpy.array([V1,V2,V3,V4,V5,V6,V7,V8,V9,V10,V11,V12]) 

que añado después de cada cálculo de bucle.

Mi problema es que cuando trato de guardarlo en un archivo o imprimirlo Python automáticamente divide el resultado en tres líneas ya que mi salida generalmente excede 200 caracteres. ¿Hay alguna manera de suprimir este comportamiento de 80 caracteres/línea? Muchas gracias de antemano.

+3

Muestra un código. ¿Y está seguro de que el archivo contiene saltos de línea y no es su terminal ni lo que sea que use para verlo? – ThiefMaster

+0

Ok ... es bastante complicado mostrarle cómo llego y me hago cargo de mi palabra; es un vector de una línea con 12 elementos y más de 80 caracteres. Lo que importa es que abro un archivo, do f.write (str (y [:, 0]). Replace ('[', ''). Replace (']', '') + '\ t' + str (y [:, 1]). replace ('[', ''). replace (']', '') + .....) y luego ciérrelo. Mi salida (solo números) se muestra en 3 líneas. – Saki

+0

p.s. No sé si hace una diferencia, pero estoy usando IDLE. – Saki

Respuesta

22

Puede usar numpy.savetxt() para guardar una matriz en un archivo de texto mientras controla el formateo. Para imprimirlo en la pantalla, tiene diferentes opciones para controlar el ancho de línea. Uno sería llamar a

numpy.set_printoptions(linewidth=200) 

para establecer el ancho de línea a un valor más alto.

+0

thx Sven, ¡esto funciona bien! ¡Maldición, eso fue rápido! – Saki

+0

Para mí, el uso del parámetro de ancho de línea para set_printoptions() no tiene ningún efecto cuando se imprime una matriz en la consola (la salida sigue formateada con las elipses '...' (en ambas dimensiones)). ¿Cuáles son las otras opciones? – StefanQ

+0

@StefanQ La elipsis no tiene nada que ver con el ancho de línea actual establecido. Por defecto, el número de entradas incluidas en la representación es limitado. Esto también se puede cambiar con 'set_printoptions()' también. Consulte la documentación para obtener detalles, o haga una pregunta por separado, ya que esto no tiene relación con esta pregunta aquí. –

Cuestiones relacionadas