comment créer un répertoire temporaire et obtenir le chemin/nom de fichier en pythonComment créer un répertoire temporaire et obtenir le chemin/nom de fichier en Python
79
A
Répondre
136
4
Utiliser le module tempfile.
19
développiez une autre réponse, voici un exemple assez complet qui peut nettoyer le tmpdir même sur des exceptions:
import contextlib
import os
import shutil
import tempfile
@contextlib.contextmanager
def cd(newdir, cleanup=lambda: True):
prevdir = os.getcwd()
os.chdir(os.path.expanduser(newdir))
try:
yield
finally:
os.chdir(prevdir)
cleanup()
@contextlib.contextmanager
def tempdir():
dirpath = tempfile.mkdtemp()
def cleanup():
shutil.rmtree(dirpath)
with cd(dirpath, cleanup):
yield dirpath
def main():
with tempdir() as dirpath:
pass # do something here
5
En Python 3.2 et plus tard, il y a un ContextManager utile pour cela dans le stdlib https://docs.python.org/3/library/tempfile.html#tempfile.TemporaryDirectory
Questions connexes
- 1. Comment créer un répertoire temporaire en C++?
- 2. Comment créer un fichier temporaire nommé sur Windows en Python?
- 3. créer un fichier temporaire en android
- 4. Comment créer un fichier std :: ofstream dans un fichier temporaire?
- 5. Comment obtenir le répertoire temporaire ASP.NET par programme?
- 6. Créer un répertoire et copier un fichier
- 7. Comment enregistrer un fichier jpg temporaire en utilisant python?
- 8. Comment créer un fichier texte temporaire en C++?
- 9. Impossible de créer un fichier temporaire
- 10. Comment créer le fichier texte dans le répertoire temporaire d'une application dans Iphone
- 11. comment créer un fichier LZMA en python
- 12. Comment créer un nom de fichier temporaire dans Erlang?
- 13. Comment créer (et supprimer) automatiquement un répertoire temporaire dans un Makefile?
- 14. Comment effacer en toute sécurité un fichier/répertoire en Python?
- 15. Comment créer un fichier .txt dans un dossier Internet temporaire?
- 16. Comment créer un fichier dans un répertoire différent en C++?
- 17. comment créer un sous-répertoire dans un répertoire
- 18. Comment obtenir un chemin de fichier absolu en Python
- 19. Comment obtenir/définir le chemin du répertoire logique en python
- 20. Comment savoir le prochain fichier temporaire à créer dans Windows?
- 21. Opération temporaire dans un répertoire temporaire dans un script shell
- 22. En Perl, comment créer en toute sécurité un FIFO temporaire?
- 23. Existe-t-il un moyen de créer un fichier WER "Request Additional Files" pour le répertoire temporaire de Windows?
- 24. comment créer un nouveau fichier en utilisant python
- 25. ouvrir le fichier temporaire en Java
- 26. Obtenir le premier fichier dans le répertoire
- 27. fichier image temporaire en ruby
- 28. créer un fichier lzma en python
- 29. En Java: créer un nom de fichier aléatoire unique dans un répertoire
- 30. Obtenir le répertoire d'un nom de fichier en Javascript
Si vous l'utilisez dans un test, veillez à supprimer (shutil.rmtree) le répertoire car il n'est pas automatiquement supprimé après utilisation. "L'utilisateur de mkdtemp() est responsable de la suppression du répertoire temporaire et de son contenu une fois terminé." Voir: http://docs.python.org/2/library/tempfile.html#tempfile.mkdtemp –
Ceci doit être la réponse acceptée! – gregoltsov
Dans python3, vous pouvez faire 'avec tempfile.TemporaryDirectory() en tant que dirpath:', et le répertoire temporaire sera automatiquement nettoyé à la sortie du gestionnaire de contexte. https://docs.python.org/3.4/library/tempfile.html#tempfile.TemporaryDirectory – Symmetric