Abrir archivos en los modos ‘rt’ y ‘wt’

Varias veces aquí en SO, he visto a personas que usan los modos rt y wt para leer y escribir archivos.

Por ejemplo:

 with open('input.txt', 'rt') as input_file: with open('output.txt', 'wt') as output_file: ... 

No veo los modos documentados , pero ya que open() no produce un error, parece que es bastante legal usarlo.

¿Para qué sirve y hay alguna diferencia entre usar wt vs w y rt vs r ?

Related of "Abrir archivos en los modos ‘rt’ y ‘wt’"

t refiere al modo de texto. No hay diferencia entre r y rt o w and wt ya que el modo de texto es el predeterminado.

Documentado aquí :

 Character Meaning 'r' open for reading (default) 'w' open for writing, truncating the file first 'x' open for exclusive creation, failing if the file already exists 'a' open for writing, appending to the end of the file if it exists 'b' binary mode 't' text mode (default) '+' open a disk file for updating (reading and writing) 'U' universal newlines mode (deprecated) 

El modo predeterminado es 'r' (abierto para leer texto, sinónimo de 'rt' ).

La t indica el modo de texto, lo que significa que los caracteres \n se traducirán a los finales de línea del sistema operativo del host cuando se escriban en un archivo, y de nuevo al leer. La bandera es básicamente ruido, ya que el modo de texto es el predeterminado.

Aparte de U , esos indicadores de modo provienen directamente de la función fopen() la biblioteca C estándar, un hecho que se documenta en el sexto párrafo de la documentación de python2 para open() .

Por lo que sé, t no es y nunca ha sido parte del estándar C, así que aunque muchas implementaciones de la biblioteca C lo aceptan de todos modos, no hay garantía de que todos lo hagan, y por lo tanto no hay garantía de que funcionará en cada comstackción de python. Eso explica por qué los documentos de python2 no lo enumeraron, y por qué generalmente funcionó de todos modos. Los documentos de python3 lo hacen oficial.

La ‘r’ es para leer, ‘w’ para escribir y ‘a’ es para anexar.

La ‘t’ representa el modo de texto como se aplica al modo binario.

Varias veces aquí en SO, he visto a personas que usan los modos rt y wt para leer y escribir archivos.

Edit: ¿Estás seguro de haber visto rt y no rb?

Estas funciones generalmente envuelven la función fopen que se describe aquí:

http://www.cplusplus.com/reference/cstdio/fopen/

Como puede ver, menciona el uso de b para abrir el archivo en modo binario.

El enlace del documento que proporcionó también hace referencia a este modo b:

Anexar ‘b’ es útil incluso en sistemas que no tratan los archivos binarios y de texto de manera diferente, donde sirve como documentación.

t indica para el text mode

https://docs.python.org/release/3.1.5/library/functions.html#open

en linux, no hay diferencia entre el modo de texto y el modo binario; sin embargo, en Windows, convierte \n a \r\n cuando se usa el modo de texto.

http://www.cygwin.com/cygwin-ug-net/using-textbinary.html