Me gustaría poder crear un objeto datetime con datetime.datetime.now()
PyYAML. Es fácil llamar a algunas funciones:Cómo crear un objeto datetime con PyYAML
>>> y = """#YAML
... description: Something
... ts: !!python/object/apply:time.time []"""
>>> yaml.load(y)
{'description': 'Something', 'ts': 1289955567.940973}
>>>
Sin embargo, me parece que no puede encontrar la manera de conseguir un datetime.now()
. He intentado tantas permutaciones con llamadas a eso usando los diversos python yaml tags.
todos éstos fallan:
tests = [
'dt: !!python/object:datetime.datetime.now []',
'dt: !!python/object/new:datetime.datetime.now []',
'dt: !!python/object/apply:datetime.datetime.now []',
]
for y in tests:
try:
print yaml.load(y)
except Exception, err:
print '==>', err
Muy agradable. Estoy de acuerdo en que este es un caso de uso un poco intrincado, pero su solución parece ser la forma más fácil de lograrlo. Por contexto, estoy investigando el uso de YAML para generar datos de prueba que se cargarán a través de Django. Tener datos generados cuando se carga el archivo sería un gran beneficio para muchas pruebas. ¡Gracias por la respuesta! – brianz
fwiw, con 'apply' eliminado en python 3 el ejemplo ya no funciona. Dicho esto, en realidad no estoy buscando hacer esto, me encontré con esta respuesta mientras investigaba :) (¡wow 'pyyaml' es una locura!) –