Sto creando un file temporaneo con tempfile.mkstemp()
. Restituisce un os-level fd insieme al percorso del file. Voglio os.fdopen()
il descrittore di file di livello OS per scrivere su di esso. Se poi chiudo il file restituito da os.fdopen()
, il descrittore del file di os-level sarà chiuso, o devo esplicitamente fare os.close()
? I documenti non sembrano dire cosa succede esplicitamente.chiude un file aperto con os.fdopen chiude il livello os fd?
9
A
risposta
9
Sono abbastanza sicuro che la fd sarà chiusa. Se non vuoi che tu possa farlo prima. Certo, puoi sempre testarlo abbastanza facilmente.
di prova è come questo:
from __future__ import print_function
import os
import tempfile
import errno
fd, tmpname = tempfile.mkstemp()
fo = os.fdopen(fd, "w")
fo.write("something\n")
fo.close()
try:
os.close(fd)
except OSError as oserr:
if oserr.args[0] == errno.EBADF:
print ("Closing file has closed file descriptor.")
else:
print ("Some other error:", oserr)
else:
print ("File descriptor not closed.")
il che dimostra che il descrittore di file sottostante viene chiuso quando l'oggetto file viene chiuso.
Problemi correlati
- 1. In python c = pickle.load (aperto (fileName, 'r')) chiude il file?
- 2. Qt auto chiude i file?
- 3. Come si chiude un modulo modale subito dopo averlo aperto?
- 4. File.AppendAllText chiude il file dopo l'operazione
- 5. close() non chiude correttamente il socket
- 6. Attendere QWidget chiude
- 7. Come si "chiude" un ClassLoader?
- 8. chiude programmaticamente l'app win8
- 9. Chiude con grazia un'applicazione multithreading?
- 10. Come si chiude un SearchView al livello di programmazione?
- 11. Tkinter askopenfilename() non si chiude
- 12. dlclose non chiude gli handle di file aperti della libreria
- 13. Un thread si chiude automaticamente?
- 14. Come si chiude un jQuery Simplemodal?
- 15. Haskell pigro apre e chiude i file
- 16. FileStreamResult chiude Stream?
- 17. Il modulo si chiude quando non dovrebbe
- 18. Putty - Chiude automaticamente sull'autenticazione
- 19. Watin DialogHandler chiude SaveFileDialog
- 20. DialogResult che non chiude il modulo?
- 21. Fa ofstream chiude automaticamente i suoi file?
- 22. Unicorno non chiude connessioni DB
- 23. Un segnale KILL chiude immediatamente un processo?
- 24. Il processo dell'applicazione non si chiude
- 25. Come si chiude UISearchDisplayController a livello di programmazione?
- 26. Come Python chiude i file che sono stati gc?
- 27. Matlab: esegue il file senza aprire la GUI, quindi chiude
- 28. Esegui codice quando si chiude un WPF
- 29. Iteratore personalizzato Python: chiude un file su StopIteration
- 30. Il processo di Excel non si chiude
Grazie per questo! – dimo414