Estoy tratando de crear y escribir en un archivo temporal en el sistema operativo Windows usando Python. He utilizado el módulo de Python tempfile para crear un archivo temporal.

Pero cuando voy a escribir temporalmente el archivo me sale un error Permission Denied. Soy yo no se permite escribir a archivos temporales?! Estoy haciendo algo mal? Si quiero crear y escribir en un archivo temporal de cómo debería debería hacerlo en Python? Quiero crear un archivo temporal en el directorio temporal para fines de seguridad y no de forma local (en el directorio de la .exe se ejecute).

IOError: [Errno 13] Permission denied: 'c:\\users\\blah~1\\appdata\\local\\temp\\tmpiwz8qw'

temp = tempfile.NamedTemporaryFile().name
f = open(temp, 'w') # error occurs on this line

OriginalEl autor Mack | 2014-04-22

2 Comentarios

  1. 35

    NamedTemporaryFile en realidad crea el archivo para usted, no hay necesidad para que usted pueda abrir para escribir.

    De hecho, la Python docs estado:

    Si el nombre puede ser usado para abrir el archivo por segunda vez, mientras que el temporal de nombre el archivo está abierto, varía a través de las plataformas (que puede ser tan utilizado en Unix; no puede en Windows NT o posterior).

    Es por eso que usted está consiguiendo a su permiso de error. Lo que usted está probablemente después es:

    f = tempfile.NamedTemporaryFile(mode='w') # open file
    temp = f.name                             # get name (if needed)
    Hay una aclaración útil y más info en este post stackoverflow.com/questions/4290716/…

    OriginalEl autor paxdiablo

Dejar respuesta

Please enter your comment!
Please enter your name here