2011-02-06 13 views
46

En el shell de Unix que puedo hacer esto para vaciar un archivo:cómo vaciar un archivo usando Python

cd /the/file/directory/ 
:> thefile.ext 

¿Cómo voy a ir haciendo esto en Python?

Es os.system el camino hasta aquí, yo no sabría ya que tendría que enviar 2 acciones después de unos a otros es decir, el cd y luego el :>.

+1

No debe abrir el archivo con un modo de "w" hacer esto, es decir, 'abrir ("/the/path/thefile.ext "," w ")'? –

+2

¿está respondiendo una pregunta con otra pregunta? – Adergaard

+11

¿No es el uso de una pregunta en lugar de una declaración como un dispositivo retórico para indicar un grado de incertidumbre bastante común? – DSM

Respuesta

119

apertura de un archivo lo crea y (a menos adición ('a') se establece) sobrescribe con vacio, como este:

open(filename, 'w').close() 
+0

¿Habría un problema si el archivo se escribe constantemente en (es un archivo de registro que se escribe en cada segundo) – Adergaard

+0

@Adergaard Normalmente no. Si el archivo ya existe, no se creará, pero se usará y truncará el mismo archivo. Si el proceso de registro continúa escribiendo en el archivo, también aparecerá en ese archivo. Sin embargo, en combinación con operaciones de archivos basadas en 'seek' o' tell', pueden suceder cosas extrañas. – rumpel

+0

raro, parece que este no es el caso. –

17

forma alternativa de la respuesta por @rumpel

with open(filename, 'w'): pass 
Cuestiones relacionadas