2011-08-19 19 views
7

Por lo tanto, cuando intento imprimir ayuda/información de las funciones de Python function.__doc__, la salida de la consola en lugar de imprimir una línea nueva cuando \n aparece en la cadena de documentos, imprime \n. ¿Alguien puede ayudarme a deshabilitar/ayudar con esto?Pantalla de nueva línea de Python en la consola

Este es mi resultado:

'divmod(x, y) -> (div, mod)\n\nReturn the tuple ((x-x%y)/y, x%y). Invariant: div*y + mod == x.' 

Lo que me gustaría que la salida sea:

'divmod(x, y) -> (div, mod) 

    Return the tuple ((x-x%y)/y, x%y). Invariant: div*y + mod == x.' 

P.S: He intentado esto en OS X, Ubuntu con Python 2.7.

Respuesta

16

Parece que inspeccionó el objeto en el caparazón interactivo, no lo imprimió. Si quieres decir imprimir, escríbelo.

>>> "abc\n123" 
"abc\n123" 
>>> print "abc\n123" 
abc 
123 

En python 3.x imprimir es una función normal, por lo que debe usar(). El siguiente (recomendado) funcionará en tanto 2.xy 3.x:

>>> from __future__ import print_function 
>>> print("abc\n123") 
abc 
123 
+0

Sí. Entonces, por lo que entiendo, para 'no ver' el '\ n', debería usar la impresión en lugar de solo escribir [función] .__ doc__? – armundle

+0

Sí. También dejará fuera las comillas. –

3

Puede que le resulte más útil usar (por ejemplo) en lugar de help(divmod)divmod.__doc__.

1
In [6]: print divmod.__doc__ 
divmod(x, y) -> (div, mod) 

Return the tuple ((x-x%y)/y, x%y). Invariant: div*y + mod == x. 

pero le sugiero que utilice

In [8]: help(divmod) 

o en IPython

In [9]: divmod? 
Type:  builtin_function_or_method 
Base Class: <type 'builtin_function_or_method'> 
String Form:<built-in function divmod> 
Namespace: Python builtin 
Docstring: 
divmod(x, y) -> (div, mod) 

Return the tuple ((x-x%y)/y, x%y). Invariant: div*y + mod == x. 
Cuestiones relacionadas