/ / destinazione della memoizzazione persistente di Python - python

destinazione della memoizzazione persistente di Python - python

Voglio scrivere un decoratore che fa persistentememoizzazione (memorizzazione su disco). Dal momento che voglio usare questo decoratore per molte funzioni, devo decidere dove salvare i dati di memorizzazione per queste funzioni. Ho cercato su Google e ho trovato due soluzioni:

  1. lasciare che le funzioni decidano dove memorizzare i dati di memoizing
  2. determinare automaticamente dove archiviare i dati in base ai nomi delle funzioni

Tuttavia, in queste due soluzioni, è necessario che ogni funzione "si conosca" in caso di collisione di nomi (o destinazioni), che è un odore di cattivo design.

Quindi, la mia domanda è, come evitare tali collidings?

risposte:

1 per risposta № 1

Salvalo in qualcosa vicino o in relazione a __file__, che è il percorso del file del modulocaricato da. Credo che in alcuni casi possa essere un percorso relativo, quindi potresti voler memorizzare i memo in quel percorso direttamente o trasformarlo in un percorso assoluto o qualcosa del genere.