Ruby:
Création d'un fichier temporaire
How to:
Ruby rend la création de fichiers temporaires super facile grâce à la librairie standard Tempfile
. Voici comment on s’y prend :
require 'tempfile'
# Création d'un fichier temporaire
Tempfile.create('mon_temp') do |fichier|
fichier.write('Salut le monde temporaire!')
fichier.rewind
# Lire le contenu du fichier
puts fichier.read # => Salut le monde temporaire!
end
# Après le block, le fichier est automatiquement supprimé.
On écrit dedans, on lit, et pouf, il disparaît quand on en a plus besoin.
Deep Dive
Les fichiers temporaires sont là depuis les débuts des systèmes d’exploitation pour éviter de polluer les disques avec des données inutiles sur le long terme. Ruby utilise la librairie native Tempfile
pour simplifier cette tâche.
Quelques points à savoir :
- Tempfile est basé sur la classe
File
, donc tout ce qu’on peut faire avecFile
, on peut le faire avecTempfile
. - C’est thread-safe — plusieurs fils d’exécution peuvent utiliser leurs propres fichiers temporaires sans se marcher dessus.
- Il existe d’autres manières de créer des fichiers temporaires en Ruby, comme avec
Dir.mktmpdir
si on veut un répertoire temporaire.
Détail de l’implémentation : Tempfile crée le fichier temporaire dans le répertoire retourné par Dir.tmpdir
. Sur les systèmes unix, c’est généralement /tmp
.
See Also
Pour aller plus loin, consultez :
- Le module Dir pour plus d’opérations sur les répertoires.
- La doc sur la classe File pour tout savoir sur la manipulation des fichiers en Ruby.