percache

Risultati cache persistente dei call per
Scarica ora

percache Classifica e riepilogo

Annuncio pubblicitario

  • Rating:
  • Licenza:
  • MIT/X Consortium Lic...
  • Prezzo:
  • FREE
  • Nome editore:
  • Oben Sonne
  • Sito web dell'editore:
  • http://bitbucket.org/obensonne/

percache Tag


percache Descrizione

Cache persistentemente i risultati dei calli Percache è una libreria Python per cache persistentemente i risultati delle funzioni (o dei calli in generale) utilizzando decoratori.it è in qualche modo simile all'esempio memoizzato dalla biblioteca del decoratore Python ma con il vantaggio che i risultati vengono memorizzati in modo persistente in un file di cache. Percache fornisce la memorizzazione su più invocazioni dell'interprete Python.esempio: >>> Importa percache >>> cache = percache.cache ("/ tmp / my-cache") >>>>>> @ cache.check ... def LongTask (A, B): ... Stampa ("Esecuzione di un'attività lunga") ... Restituisce A + B ... >>> LongTask (1, 2) Esecuzione di una lunga attività3 >>>>>> LongTask ( 1, 2) 3 >>> cache.Close () # scrive nuovi risultati memorizzati nella cache su diskAS È possibile visualizzare nell'output mancante dopo la seconda invocazione, la longTask è stata chiamata solo una volta. La seconda volta il risultato viene recuperato dalla cache. La funzione chiave di questo modulo è che ciò funziona su più invocazioni dell'interprete Python.A Requisito sui risultati per la cache è che sono impostati da un file cache persable.ach può essere utilizzato per qualsiasi numero di dettagli di CallAbles.Caching diversamente denominati Know) Quando si memorizzano nella cache il risultato di un Calleble, un hash SHA1 in base al nome e agli argomenti di Cinicable viene utilizzato come chiave per memorizzare il risultato nel file della cache. Il calcolo della cache non funziona direttamente con gli argomenti ma con i loro reterpresentazioni, cioè La stringa restituita applicando RepR (). Le rappresentazioni degli argomenti dovrebbero differenziare i valori sufficientemente allo scopo della funzione ma identicamente attraverso più invocazioni dell'interprete Python. Per impostazione predefinita la funzione Buibin REPR () viene utilizzata per ottenere rappresentazioni discussioni. Questo è perfetto per i tipi di base, gli elenchi, le tuple e le combinazioni di loro, ma potrebbe fallire su altri tipi: >>> reprtion (42) 42 # buono >>> reprtion ()] "" # buono >>> o = oggetto () >>> reption (o) '' # Bad (indirizzo è dinamico) >>> reprs ({"A": 1, "B": 2, "D": 4, "c": 3}) "{'A': 1, 'c': 3, 'b': 2, 'd ': 4} "# Bad (ordine può cambiare) >>> Classe A (oggetto): ... def __init __ (sé, a): ... self.a = A ... >>> Repr (A ( 36)) '' # Bad (AA non considerato) >>> Repr (A (35)) '' # Bad (AA non considerato) Una cattiva rappresentazione è quella che non è identicamente attraverso le invocazioni di Python (tutti i cattivi esempi) o uno che non differenzia sufficientemente valori (ultimi 2 esempi negativi). Per utilizzare tali tipi comunque è possibile utilizzare il metodo del tipo __repr __ () di conseguenza o 2. Fornire una funzione di rappresentazione personalizzata utilizzando la parola chiave replicazione del costruttore della cache. __repR __ () MetodoTo TODETTORE AZIONALI A Percache Funzioni decorate, è possibile avvolgerle in un unico tipo di dizionario con un __r adatto EPR __ () Metodo: >>> Mydict di classe (Dict): ... def __repr __ (auto): ... Articoli = ) per k in ordinata ( Self)] ... ritorno "{% s}"% ",". Archivio (articoli) ... >>> reprtion (mydict ({"A": 1, "B": 2, "D": 4 "C": 3})) "{'A': 1, 'b': 2, 'c': 3, 'd': 4}" # buono (sempre lo stesso ordine) Fornire un ripristino personalizzato () L'esempio seguente mostra come utilizzare una funzione di rappresentazione personalizzata per ottenere una rappresentazione argomento appropriata di oggetti di file: >>> def myrepr (arg): ... Se Isinstance (Arg, file): ... # restituisce una stringa con il nome del file e tempo di modifica ... ritorno "% s:% s"% (arg.name, os.fstat (arg.fileno ()) ) ... altrimenti: ... return repr (arg) ... >>> cache = percache.cache ("/ alcuni / percorso", repr = myrepr) Housekeeping * Non dimenticare di chiamare il metodo chiuso () di un'istanza della cache. Nessun resutls è scritto sul disco finché non viene chiamato questo metodo * Assicurarsi di eliminare il file della cache ogni volta che il comportamento di una funzione memorizzata nella cache è cambiata! * Per evitare che la cache venga ingrandita e più grande è possibile chiamare il metodo chiaro () di un'istanza della cache. Per impostazione predefinita cancella tutti i risultati dalla cache. La parola chiave maxage viene utilizzata per specificare un numero massimo di secondi passati poiché un risultato memorizzato nella cache è stato utilizzato l'ultima volta. Qualsiasi risultato non utilizzato (scritto o accesso) per i secondi maxage viene rimossa dalla cache. Requisiti: · Python. Cosa c'è di nuovo in questa versione: · Correggere l'uscita di utilizzo errata dell'uscita dell'interfaccia della riga di comando. · Si incontrano a metà strada con Pylint.


percache Software correlato

Dna.

Dencodes Il tuo programma Perl in una sequenza di acido nucleico ...

163

Scarica