Problemas en la fecha de análisis usando dateutil

Estoy usando python-dateutil para analizar una fecha de una cadena:

import dateutil.parser print dateutil.parser.parse('some null string', fuzzy=True).date() 2012-10-18 print dateutil.parser.parse('some 31 Oct 2012 string', fuzzy=True).date() 2012-10-31 

Lo que estoy esperando es que dateutil.parser.parse('some null string', fuzzy=True).date() para lanzar una excepción, pero está devolviendo la fecha actual. ¿Puede alguien mostrarme cómo puedo evitar obtener la fecha actual, si no se encuentra la fecha en la cadena provista?

Gracias por adelantado.

Vea los documentos de dateutil , específicamente la función de análisis (enfatiza la mía):

Además, los siguientes argumentos de palabras clave están disponibles:

predeterminado Si se da, esta debe ser una instancia de fecha y hora. Cualquier campo que falte en la fecha analizada se copiará desde esta instancia. El valor predeterminado es la fecha actual, a las 00:00:00 am .

… (recorte) …

fuzzy Si fuzzy se establece en True, se ignorarán los tokens desconocidos en la cadena.

Dado que has establecido fuzzy en True , no se lanzará ninguna excepción, ya que simplemente ignorará todos los tokens desconocidos. Y, como el argumento default no se pasa, se devolverá la fecha actual.

Por lo tanto, la solución será mantener el conjunto fuzzy en False , de modo que las cadenas de formato no válidas generen una excepción; o compruebe si la fecha y hora devuelta es igual a la fecha actual a las 00:00:00 am como una indicación de una conversión fallida.