Il existe un module tempfile
pour python, mais la création d'un simple fichier fait aussi l'affaire :
new_file = open("chemin/vers/NOM_FICHIER.ext", "w")
Vous pouvez maintenant y écrire en utilisant la méthode write
:
new_file.write('c'est du contenu')
Avec le module tempfile
, cela pourrait ressembler à ceci :
import tempfile
new_file, nom_fichier = tempfile.mkstemp()
print(nom_fichier)
os.write(new_file, "c'est du contenu")
os.close(new_file)
Avec mkstemp
, vous êtes responsable de supprimer le fichier une fois que vous en avez terminé. Avec d'autres arguments, vous pouvez influencer le répertoire et le nom du fichier.
MISE À JOUR
Comme l'a justement souligné Emmet Speer, il y a des considérations de sécurité lors de l'utilisation de mkstemp
, car le code client est responsable de la fermeture / du nettoyage du fichier créé. Une meilleure façon de le gérer est l'extrait suivant (tel que repris du lien) :
import os
import tempfile
fd, chemin = tempfile.mkstemp()
try:
with os.fdopen(fd, 'w') as tmp:
# faire des choses avec le fichier temporaire
tmp.write('des choses')
finally:
os.remove(chemin)
Le os.fdopen
enveloppe le descripteur de fichier dans un objet fichier Python, qui se ferme automatiquement lorsque le with
se termine. L'appel à os.remove
supprime le fichier quand il n'est plus nécessaire.
0 votes
Ouvrez avec 'w' et fermez-le, utilisez
os.touch(fname)
.0 votes
Pourquoi avez-vous besoin du fichier temporaire alors?
0 votes
J'ai une fonction qui appelle le FILE_PATH de l'objet donc il doit être là
1 votes
@SuperString pouvez-vous changer la réponse acceptée s'il vous plaît?