example - cómo usar tempfile.NamedTemporaryFile() en python
tempfile ruby (2)
Quiero usar tempfile.NamedTemporaryFile()
para escribir algunos contenidos en él y luego abrir ese archivo. He escrito el siguiente código:
tf = tempfile.NamedTemporaryFile()
tfName = tf.name
tf.seek(0)
tf.write(contents)
tf.flush()
pero no puedo abrir este archivo y ver su contenido en el bloc de notas o en una aplicación similar. ¿Hay alguna forma de lograr esto? ¿Por qué no puedo hacer algo como esto?
os.system(''start notepad.exe '' + tfName)
al final
Esta podría ser una de las dos razones:
En primer lugar, de forma predeterminada, el archivo temporal se elimina tan pronto como se cierra . Para arreglar este uso:
tf = tempfile.NamedTemporaryFile(delete=False)
y luego borre el archivo manualmente una vez que haya terminado de verlo en la otra aplicación.
Alternativamente, podría ser porque el archivo aún está abierto en Python Windows no le permitirá abrirlo usando otra aplicación.
También puede usarlo con un administrador de contexto para que el archivo se cierre / elimine cuando se salga del alcance. También se limpiará si aumenta el código en el administrador de contexto.
import tempfile
with tempfile.NamedTemporaryFile() as temp:
temp.write(''Some data'')
temp.flush()
# do something interesting with temp before it is destroyed