Mi piacerebbe essere in grado di creare un oggetto datetime con datetime.datetime.now()
PyYAML. E 'facile chiamare alcune funzioni:Come creare un oggetto datetime con PyYAML
>>> y = """#YAML
... description: Something
... ts: !!python/object/apply:time.time []"""
>>> yaml.load(y)
{'description': 'Something', 'ts': 1289955567.940973}
>>>
Tuttavia, non riesco a capire come ottenere un datetime.now()
. Ho provato tutte le permutazioni con le chiamate a quello usando i vari python yaml tags.
Questi tutti falliscono:
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
Molto bello. Sono d'accordo che questo è un caso d'uso un po 'contorto, ma la tua soluzione sembra il modo più semplice per realizzare. Per il contesto, sto studiando utilizzando YAML per generare dati di test che verranno caricati tramite Django. Avere dati generati quando il file viene caricato sarebbe un enorme vantaggio per molti test. Grazie per la risposta! – brianz
fwiw, con 'apply' rimosso in python 3 l'esempio non funziona più. Detto questo, in realtà non sto cercando di farlo solo inciampando su questa risposta mentre faccio qualche ricerca :) (wow 'pyyaml' è folle!) –