2012-01-17 12 views
11

Desarrollo una aplicación cliente-servidor y tengo un inicio de sesión en el servidor, entonces utilizo el módulo de registro. Me gustaría crear un comando en el servidor para borrar el archivo.Python: borre un archivo de registro

Tengo una prueba con os.remove() pero después, el registro no funciona.

¿Tienes una idea?

Gracias.

+0

¿Este registro está siendo escrito por un proceso de daemon? Tendría que indicarle al daemon que se eliminó el archivo de registro para que pueda cerrar/volver a abrir el identificador del archivo de registro y comenzar a usar el nuevo archivo de registro. De lo contrario, seguirá escribiendo en el anterior, que seguirá existiendo en algún lugar hasta que todos los manejadores de archivos estén cerrados. –

+1

Give 'mode =" w "' to ['logging.FileHandler'] (https://docs.python.org/2/library/logging.handlers.html#filehandler). –

Respuesta

27

Puede ser mejor truncar el archivo en lugar de eliminarlo. La solución más sencilla es volver a abrir el archivo para escritura de su función de compensación y cerrarla:

with open('yourlog.log', 'w'): 
    pass 
+0

Thaks, eso funciona genial! – Guillaume

3

probar este

>>> with open("gre.txt", "w") as file: 
... file.truncate() 
... 
>>> 

ACTUALIZACIÓN:

file.truncate() no es necesario. Puede simplemente pass

+1

Así que básicamente duplicaste la respuesta de newtover – Purefan

Cuestiones relacionadas