erstellen, wie ein temporäres Verzeichnis erstellen und den Pfad/Dateinamen in PythonWie ein temporäres Verzeichnis und erhalten den Pfad/Dateinamen in Python
79
A
Antwort
136
4
Verwenden Sie das Modul tempfile. dem Bereinigungs die tmpdir auch auf Ausnahmen
19
auf eine andere Antwort zu erweitern, hier ein ziemlich vollständiges Beispiel ist:
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
In Python 3.2 und später gibt es eine nützliche contextmanager für diese in der stdlib https://docs.python.org/3/library/tempfile.html#tempfile.TemporaryDirectory
Verwandte Themen
- 1. Loggen in ein temporäres Verzeichnis plattformübergreifend
- 2. Erstellen Sie ein temporäres Verzeichnis in Haskell
- 3. Temporäres Verzeichnis ändern
- 4. Wie erstellt man ein temporäres Verzeichnis in C++?
- 5. Spark Master füllen temporäres Verzeichnis
- 6. Was ist ein gutes temporäres Verzeichnis in ASP.NET?
- 7. Wie kann ich automatisch ein temporäres Verzeichnis in einem Makefile erstellen (und entfernen)?
- 8. Zugriff auf temporäres ASP-Verzeichnis über Code
- 9. Wie verwalten Sie ein temporäres Verzeichnis, so dass es beim Schließen des Programms garantiert gelöscht wird?
- 10. PDF-Anlagen in Azure, Speicher oder temporäres Verzeichnis verwenden?
- 11. iOS: Was ist ein sicherer Weg, um ein temporäres Verzeichnis zu erstellen?
- 12. Finde den neuesten Ordner in einem Verzeichnis in Python
- 13. Call to isc_dsql_sql_info() bewirkt, dass temporäres Verzeichnis Überlauf
- 14. In Perl, wie erstelle ich sicher ein temporäres FIFO?
- 15. Kopieren Verzeichnisinhalte in ein Verzeichnis mit Python
- 16. Wie ein temporäres int-Array in Java zurückgegeben wird
- 17. Python Ein Formular senden und Antwort erhalten
- 18. Was ist der beste Weg, um ein leeres temporäres Verzeichnis in Ruby on Rails zu bekommen?
- 19. Split ein Array und erhalten den Index
- 20. Touch ein Verzeichnis in Python (Linux)
- 21. wie ein Verzeichnis von FTP-Server mit Python in Windows
- 22. Sollte ein C++ temporäres konstant sein?
- 23. Warum nicht unique_ptr nur ein temporäres akzeptieren?
- 24. So erhalten/setzen Sie den logischen Verzeichnispfad in Python
- 25. Cross-Plattform-Weg zum Erhalten Temp-Verzeichnis in Python
- 26. Genau ein temporäres Fenster wird erwartet
- 27. wie ein Verzeichnis in find
- 28. Den Bezeichnernamen einer Instanz in Python erhalten
- 29. Verzeichnis in Python löschen
- 30. temporäres Objekt, Funktionsparameter und implizite Umwandlung
Wenn Sie dies in einem Test verwenden, entfernen Sie (shuthil.rmtree) das Verzeichnis, da es nach der Verwendung nicht automatisch gelöscht wird. "Der Benutzer von mkdtemp() ist dafür verantwortlich, das temporäre Verzeichnis und seinen Inhalt zu löschen, wenn es damit fertig ist." Siehe: http://docs.python.org/2/library/tempfile.html#tempfile.mkdtemp –
Dies muss die akzeptierte Antwort sein! – gregoltsov
In python3 können Sie 'mit tempfile.TemporaryDirectory() als dirpath:' tun, und das temporäre Verzeichnis wird beim Beenden des Kontextmanagers automatisch bereinigt. https://docs.python.org/3.4/library/tempfile.html#tempfile.TemporaryDirectory – Symmetric