2010-01-01 22 views

Respuesta

24

Esta sintaxis significa escrituras en un objeto de archivo (sys.stderr en este caso) en lugar de la salida estándar. [Link]

En Python 3.0, print se convierte en una función en lugar de una declaración: [Link]

print("Error in atexit._run_exitfuncs:", file=sys.stderr) 
+0

Tenga en cuenta que esta es la sintaxis de Python 2.x. Python 3.0 tiene la función de impresión y la redirección se realiza de forma completamente diferente. –

5

Desde el Python documentation:

impresión también tiene una forma extendida, definida por la segunda parte de la sintaxis descrita anteriormente. Este formulario es a veces denominado "imprimir chevron". De esta forma, la primera expresión después de >> debe evaluar en un objeto "file-like", específicamente un objeto que tiene un método write() como descrito anteriormente. Con este formulario extendido , las expresiones siguientes son impresas en este objeto de archivo. Si la primera expresión se evalúa como Ninguna, , entonces sys.stdout se utiliza como el archivo para la salida.