Tengo un archivo de texto. ¿Cómo puedo verificar si el archivo está vacío o no?Python: compruebe si un archivo está vacío o no
Respuesta
>>> import os
>>> os.stat("file").st_size == 0
True
import os
os.path.getsize(fullpathhere) > 0
Por razones de seguridad puede que tenga que coger 'OSError' y devolver Falso. – kennytm
¿Cuál es la diferencia/ventaja al usar este vs os.state ('file'). St_size? –
Parece que los dos son iguales bajo el capó: https://stackoverflow.com/a/18962257/1397061 –
si por alguna razón que ya tenían el archivo abierto puede probar esto:
>>> with open('New Text Document.txt') as my_file:
... # I already have file open at this point.. now what?
... my_file.seek(0) #ensure you're at the start of the file..
... first_char = my_file.read(1) #get the first character
... if not first_char:
... print "file is empty" #first character is the empty string..
... else:
... my_file.seek(0) #first character wasn't empty, return to start of file.
... #use file now
...
file is empty
Tanto getsize()
y stat()
será una excepción si no existe el archivo. Esta función devolverá verdadero/falso sin tirar:
import os
def is_non_zero_file(fpath):
return os.path.isfile(fpath) and os.path.getsize(fpath) > 0
Definitivamente como usar '' os.path.getsize() '' –
Hay una condición de carrera porque el archivo puede estar eliminado entre las llamadas a 'os.path.isfile (fpath)' y 'os.path.getsize (fpath)', en cuyo caso la función propuesta generará una excepción. – s3rvac
Mejor intentar y atrapar el 'OSError' en su lugar, como propuesto [en otro comentario] (http://stackoverflow.com/questions/2507808/python-how-to-check-file-empty-or-not/15924160# comment2503155_2507819). – j08lue
Ok así que voy a combinar ghostdog74's answer y los comentarios, sólo por diversión.
>>> import os
>>> os.stat('c:/pagefile.sys').st_size==0
False
False
significa un archivo no vacío.
Así que vamos a escribir una función:
import os
def file_is_empty(path):
return os.stat(path).st_size==0
- 1. compruebe si NSNumber está vacío
- 2. AS3: compruebe si un diccionario está vacío
- 3. Compruebe si $ _POST-value está vacío
- 4. compruebe si el archivo de entrada archivado está vacío jquery
- 5. Compruebe si un directorio está vacío usando C en Linux
- 6. Compruebe si un archivo está abierto
- 7. compruebe si un archivo está abierto en Python
- 8. compruebe si un dominio está disponible o no usando PHP?
- 9. Para verificar si un objeto está vacío o no
- 10. elementos de muchos a muchos en una plantilla: compruebe si alguno no está vacío o ninguno
- 11. Compruebe si el archivo ya está abierto
- 12. cómo se comprueba si UIWebView está vacío o no
- 13. Compruebe si algo no está en una lista en Python
- 14. Compruebe si el socket está conectado o no
- 15. Compruebe si la casilla está marcada o no - ASP.NET
- 16. Compruebe si NSDate contiene una fecha o está vacía
- 17. A ver si el archivo está vacío
- 18. Desactivar/Activar NSButton si NSTextfield está vacío o no
- 19. Unir coma si no está vacío o nulo
- 20. sesión de Comprobación de si está vacío o no
- 21. jquery: si ul está vacío
- 22. Compruebe si un archivo está bloqueado en Java
- 23. Compruebe si un puerto está abierto
- 24. ¿Cómo comprobar si un archivo está vacío en Bash?
- 25. Windows BAT: prueba si un archivo específico está vacío
- 26. Compruebe si un archivo PDF es válido (Python)
- 27. ¿Cómo puedo determinar si un archivo está vacío?
- 28. Compruebe si "exec" está deshabilitado
- 29. Compruebe si se escanea un archivo PDF
- 30. Compruebe si el archivo tiene un formato CSV con Python
'stat.ST_SIZE' en lugar de 6 – wRAR
eso está bien también. pero no quiero importar estadísticas. Su corta y lo suficientemente dulce y la posición de tamaño en la lista devuelta no va a cambiar pronto. – ghostdog74
@wRAR: os.stat ('file'). St_size es incluso mejor –