2016-05-01 7 views
2

Ich möchte tempfile Modul verwenden, um Dateien zu generieren und in /tmp/myfolder/ zu behalten und sie dort bis zu einer bestimmten Zeit (vielleicht in Tagen) zu halten. Ich habe gelernt, dass tempfile Datei entfernt, sobald f.close() ausgeführt wird. Ich möchte nur nicht, dass es automatisch entfernt wird. Wird später entfernt. Ist das möglich mit tempfile? oder ein anderer besserer Ansatz?Wie können temporäre Python-Dateien und Ordner für einen bestimmten Zeitraum persistent gemacht werden?

+0

Sie sind natürlich frei, einen Ordner in '/ tmp' zu machen und schreiben/pflegen Sie Ihre eigenen Dateien drin. 'tempfile' klingt sowieso nicht passend für Ihren Anwendungsfall. Außerdem schrieb ich ein Modul [seqfile] (https://pypi.python.org/pypi/seqfile), mit dem ich in Dateien auf der Festplatte schreiben kann, ohne mich darum sorgen zu müssen, dass Dateien überschrieben werden, die von anderen Threads/Prozessen geschrieben wurden. –

+0

Vielleicht, was Sie wollen, ist ['tempfile.NamedTemporaryFile'] (https://docs.python.org/3/library/tempfile.html#tempfile.NamedTemporaryFile) – styvane

+1

Wenn Sie Dateien behalten möchten, ist es keine gute Idee um sie in '/ tmp' zu speichern. – cdarke

Antwort

2

können Sie this verwenden:

import tempfile 
with tempfile.NamedTemporaryFile(delete=False, dir='/tmp/myfolder') as outfile: 
    # ... 
+0

Scheint OP, dass Code auch nach in Tagen automatisch gelöscht werden soll? – smci

+0

@smci: Bitte spekulieren Sie nicht darüber, was OP vor einem Jahr hätte haben wollen. Wenn Sie ähnliche Fragen haben, können Sie sie gerne separat einstellen. –

+0

nicht Spekulation. Lies, was das OP schrieb ** "behalte sie dort bis zu einer bestimmten Zeit (vielleicht in Tagen) .... Ich will nur nicht, dass es [bei Datei schließen] automatisch löscht. Wird später entfernt" **. Daher entspricht Ihre Antwort nicht vollständig ihren Anforderungen. – smci

Verwandte Themen