Wie bekomme ich ein Dateiobjekt von mkstemp ()?

8

Ich versuche, mkstemp mit Python 3 zu verwenden:

%Vor%

Nach der Dokumentation , dem ersten Element des Tupels soll ein Datei-Handle sein. In der Tat ist es ein Int. Wie bekomme ich ein richtiges Dateiobjekt?

    
Erik 13.08.2012, 00:11
quelle

3 Antworten

9

In der Dokumentation für mktemp finden Sie ein Beispiel, wie NamedTemporaryFile wie gewünscht verwendet werden kann: Ссылка

%Vor%

Dies bietet das gleiche Verhalten wie mkstemp, gibt aber ein Dateiobjekt zurück.

    
Tordek 13.08.2012, 00:14
quelle
2

Der beste Weg, den ich kenne, ist die Verwendung von tempfile.NamedTemporaryFile , wie Sie in der Antwort von @tordek sehen können.

Aber wenn Sie eine rohe FD vom zugrunde liegenden Betriebssystem haben, können Sie dies tun, um es in ein Dateiobjekt zu verwandeln:

%Vor%

Dies funktioniert in Python 3

    
l04m33 13.08.2012 00:43
quelle
0

Das int steht für ein Betriebssystemlevel . Was ich wirklich brauche, ist ein High-Level-Dateiobjekt. Um eins zu machen, benutze:

%Vor%     
Erik 13.08.2012 00:11
quelle

Tags und Links