Suprimir imprimir nueva línea en python 3 str.format

Estoy usando Python 3 y estoy tratando de usar mis declaraciones de impresión con el formato str.format.

p.ej:

print ('{0:3d} {1:6d} {2:10s} '.format (count1,count2,string1)) 

Cuando trato de usar el end='' para suprimir la nueva línea posterior, esto se ignora. Una nueva línea siempre pasa.

¿Cómo suprimo la nueva línea posterior?

Fuente:

 int1= 1 int2 = 999 string1 = 'qwerty' print ( '{0:3d} {1:6d} {2:10s} '.format (int1,int2,string1)) print ('newline') print ( '{0:3d} {1:6d} {2:10s} '.format (int1,int2,string1,end='')) print ('newline') Python 3.4.0 (default, Apr 11 2014, 13:05:11) [GCC 4.8.2] on linux Type "copyright", "credits" or "license()" for more information. 

1 999 qwerty
nueva línea

1 999 qwerty
nueva línea

Su problema es que tiene el argumento end='' que se pasa a la función de format , no a la función de print .

Cambia esta línea:

 print ( '{0:3d} {1:6d} {2:10s} '.format (int1,int2,string1,end='')) 

A esto:

 print ( '{0:3d} {1:6d} {2:10s} '.format (int1,int2,string1), end='') 

Por cierto, también deberías darle una lectura a PEP8 . Define estándares para los estilos de encoding de Python, que realmente deberías intentar seguir, a menos que estés trabajando con un grupo de personas que hayan acordado otros estándares de estilo. En particular, su espacio es un poco extraño alrededor de las llamadas a funciones: no debe tener espacios entre los nombres de funciones y los paréntesis de argumentos, o entre los paréntesis y el primer argumento. Escribí mi solución sugerida para su problema de una manera que mantiene su estilo actual, pero realmente debería verse más como esto:

 print('{0:3d} {1:6d} {2:10s} '.format(int1, int2, string1), end='')