Lors de l'utilisation de fichiers dans Ruby, quelle est la différence entre les modes r+
et w+
? Qu'en est-il du mode a+
?Différence entre les modes d'accès de l'objet `File` (c'est-à-dire w +, r +)
Répondre
Voir http://www.tutorialspoint.com/ruby/ruby_input_output.htm
Pour citer:
r
en mode lecture seule. Le pointeur de fichier est placé au début du fichier. C'est le mode par défaut.r +
Mode lecture-écriture. Le pointeur de fichier sera au début du fichier.w
Mode écriture seule. Remplace le fichier si le fichier existe. Si le fichier n'existe pas, crée un nouveau fichier à écrire.w +
Mode lecture-écriture. Remplace le fichier existant si le fichier existe. Si le fichier n'existe pas, crée un nouveau fichier pour la lecture et l'écriture.a
Mode écriture seule. Le pointeur de fichier est à la fin du fichier si le fichier existe. C'est-à-dire que le fichier est en mode ajout. Si le fichier n'existe pas, il crée un nouveau fichier pour l'écriture.a +
Lecture et écriture en mode lecture. Le pointeur de fichier se trouve à la fin du fichier si le fichier existe. Le fichier s'ouvre en mode ajout. Si le fichier n'existe pas, il crée un nouveau fichier pour la lecture et l'écriture.
(mine empshasis.)
r +, w +, et + tout faire lecture-écriture. w + tronque le fichier. a + ajoute w + et a + les deux créent le fichier s'il n'existe pas.)
Réponse: Les deux r + et w + nous pouvons lire, écrire sur le fichier mais r + ne tronque pas le contenu du fichier et ne le fait pas crée un nouveau fichier si ce fichier ne se ferme pas alors que w + tronque le contenu du fichier et crée un nouveau fichier si ce fichier n'existe pas.
Modes d'accès r+
, w+
et a+
ouvre le fichier dans lecture et d'écriture en mode, mais avec la différence suivante:
r+
commence au début du fichier, mais ne va pas créer un nouveau fichier si elle n » t existe.
w+
tronque le fichier existant à la longueur zéro si le fichier existe, sinon crée un nouveau fichier. Commence à la fin du fichier si le fichier existe, sinon crée un nouveau fichier.
Pour mon propre bénéfice/à titre de référence:
|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
- 1. quelle est la différence entre:.! et: r !?
- 2. Différence de chargement de la dll entre les modes de débogage et de libération
- 3. C# File Browsing w/Checkboxes
- 4. Comment obtenir la différence entre deux listes de noms R?
- 5. Différence entre les surcharges Expression.Call?
- 6. Différences entre les modes Visual Studio (Général, Web Dev, C#)?
- 7. La différence entre les boucles
- 8. Différence entre les délégués application
- 9. Différence entre les versions IE6
- 10. différence des paramètres binomiaux par R
- 11. Différence entre les différents types de SQL?
- 12. Différence entre admin.site.root et admin.site.urls
- 13. Différence entre les méthodes PrintWriter.printf et PrintWriter.format
- 14. différence entre 2 données
- 15. Différence entre sqlreader et
- 16. La différence entre Monitor.Pulse et Monitor.PulseAll
- 17. Différence entre -Wconversion entre gcc et g ++
- 18. Quelle est la différence entre les méthodes Put et Write de Ruby?
- 19. Différence entre les codes d'état et les codes d'erreur
- 20. Différence entre les opérations et les threads dans Cocoa
- 21. Différence entre les métadonnées personnalisées et les fonctions statiques?
- 22. différence entre les expressions lambda et les méthodes anonymes - C#
- 23. La différence entre les logiciels libres et les logiciels libres
- 24. Différence entre les événements de câblage avec et sans "nouveau"
- 25. La différence entre les chaînes de connexion dans SQLCLR
- 26. Différence entre les méthodes de commutation des onglets
- 27. SQL calculer la différence entre les valeurs de la cellule
- 28. Différence entre la définition de jeton et les jetons lexer
- 29. Différence entre JNLP et JavaFX
- 30. Quelle est la différence entre les compléments et les macros?
Merci, vous confirmez pour moi qu'il ya une idée fausse que cela signifie '' w + append. – akostadinov
@Jonathan Figland S'il vous plaît vérifier [this] (http://stackoverflow.com/questions/42757267/why-does-a-mode-in-ruby-and-python-append-mode-start-from-the-begin- of-file) – Ratatouille
@Ratatouille Cette question semble avoir été fermée. Les commentaires semblent répondre aux principaux problèmes. Le problème est-il résolu? –