2009-10-17 8 views

Respuesta

108

Ver http://www.tutorialspoint.com/ruby/ruby_input_output.htm

Para citar:

r
modo de sólo lectura. El puntero del archivo se coloca al principio del archivo. Este es el modo por defecto.

r +
Modo de lectura-escritura. El puntero al archivo estará al principio del archivo.

w
Modo de solo escritura. Sobrescribe el archivo si el archivo existe. Si el archivo no existe, crea un nuevo archivo para escribir.

w +
Modo de lectura-escritura. Sobrescribe el archivo existente si el archivo existe. Si el archivo no existe, crea un nuevo archivo para leer y escribir.

a
Modo de solo escritura. El puntero del archivo se encuentra al final del archivo si el archivo existe. Es decir, el archivo está en el modo de agregar. Si el archivo no existe, crea un nuevo archivo para escribir.

a +
Modo de lectura y escritura. El puntero del archivo se encuentra al final del archivo si el archivo existe. El archivo se abre en el modo de agregar. Si el archivo no existe, crea un nuevo archivo para leer y escribir.

(mina de empshasis.)

+ r, w + y A + todos lo hacen de lectura-escritura. w + trunca el archivo. a + anexa. w + y a + ambos crean el archivo si no existe.)

+1

Gracias, usted confirma para mí que hay una cierta idea errónea de que los medios '' W + anexan. – akostadinov

+0

@Jonathan Figland Compruebe [this] (http://stackoverflow.com/questions/42757267/why-does-a-mode-in-ruby-and-python-append-mode-start-from-the-begin- of-file) – Ratatouille

+0

@Ratatouille Esa pregunta parece haberse cerrado. Los comentarios allí parecen abordar los principales problemas. ¿El problema está resuelto? –

6

Respuesta r: Tanto r + como w + podemos leer, escribir en el archivo pero r + no trunca (elimina) el contenido del archivo y no lo hace cree un nuevo archivo si dicho archivo no sale mientras en w + trunca el contenido del archivo, y cree un nuevo archivo si dicho archivo no existe.

10

modos de acceso r+, w+ y a+ abre el archivo en leer y escribir modo, pero con la siguiente diferencia:

r+ se inicia al comienzo del archivo, pero no va a crear un nuevo archivo si doesn' t existe.

w+ trunca el archivo existente a longitud cero si el archivo existe, de lo contrario crea un nuevo archivo.

a+ comienza al final del archivo si el archivo existe, de lo contrario crea un nuevo archivo.

4

para mi propio beneficio/con fines de referencia:

|mode|reads|writes|starts writing at|if preexists 
|r |yes |  |n/a    |ok 
|r+ |yes |yes |beginning  |fail 
|w |  |yes |beginning  |overwrite 
|w+ |yes |yes |beginning  |overwrite 
|a |  |yes |end    |append 
|a+ |yes |yes |end    |append 
Cuestiones relacionadas