¿Cómo evito que Python imprima nuevas líneas o espacios?




8 Answers

Solo un comentario. En Python 3 , usarás

print('h', end='')

para suprimir el terminador de la línea final, y

print('a', 'b', 'c', sep='')

para suprimir el separador de espacios en blanco entre los elementos.

python printing formatting python-2.x

Esta pregunta ya tiene una respuesta aquí:

En pitón, si digo

print 'h'

Recibo la letra hy una nueva linea. Si yo digo

print 'h',

Recibo la letra h y no hay nueva linea. Si yo digo

print 'h',
print 'm',

Obtengo la letra h, un espacio, y la letra m. ¿Cómo puedo evitar que Python imprima el espacio?

Las declaraciones de impresión son iteraciones diferentes del mismo bucle, por lo que no puedo usar el operador +.




O use a + , es decir:

>>> print 'me'+'no'+'likee'+'spacees'+'pls'
menolikeespaceespls

Solo asegúrate de que todos sean objetos capaces de concatenar.




Para completar, otra forma es borrar el valor del espacio de software después de realizar la escritura.

import sys
print "hello",
sys.stdout.softspace=0
print "world",
print "!"

imprime helloworld !

Sin embargo, el uso de stdout.write () es probablemente más conveniente para la mayoría de los casos.




¡Recupera el control de tu consola! Simplemente:

from __past__ import printf

donde __past__.py contiene:

import sys
def printf(fmt, *varargs):
    sys.stdout.write(fmt % varargs)

entonces:

>>> printf("Hello, world!\n")
Hello, world!
>>> printf("%d %d %d\n", 0, 1, 42)
0 1 42
>>> printf('a'); printf('b'); printf('c'); printf('\n')
abc
>>>

Bonificación extra: si no te gusta print >> f, ... , puedes ampliar esta acción a fprintf (f, ...).




En Python 2.6:

>>> print 'h','m','h'
h m h
>>> from __future__ import print_function
>>> print('h',end='')
h>>> print('h',end='');print('m',end='');print('h',end='')
hmh>>>
>>> print('h','m','h',sep='');
hmh
>>>

Por lo tanto, al utilizar print_function desde __future__ puede establecer explícitamente los parámetros sep y end de la función de impresión.




print("{0}{1}{2}".format(a, b, c))



import sys
a=raw_input()
for i in range(0,len(a)):
       sys.stdout.write(a[i])



Tuve el mismo problema una vez que quise leer algunos dígitos de un archivo. Lo resolví así:

f = open('file.txt', 'r')
for line in f:   
    print(str.split(line)[0])





Related